【2021】360春招编程题(第二批)

时长:120分钟 总分:2分

79浏览 0人已完成答题

题型介绍
题型 填空题
数量 2
1.
【2021】360编程题ab串
问题详情

小明得到一个只包含a,b两个字符的字符串,但是小明不希望在这个字符串里a出现在b左边。现在他可以将”ab”这样的子串替换成”bba”,在原串中的相对位置不变。输出小明最少需要操作多少次才能让一个给定字符串所有a都在b的右边。

输入描述:

一个只包含a,b字符的字符串,长度不超过100000。

输入样例: ab 输出描述:

最小的操作次数。结果对1000000007取模。

输出样例 1
2.
【2021】360编程题回文数变换
问题详情

所谓回文数就是一个数字,从左边读和从右边读的结果都是一样的,例如12321。

现在有一个只包含1、2、3、4的数字,你可以通过在任意位置增加一位数字或者删除一位数字来将其变换成一个回文数。但是增加或删除不同数字所需要的代价是不一样的。

已知增加和删除每个数字的代价如下:

增加一个1,代价:100;删除一个1,代价:120。

增加一个2,代价:200;删除一个2,代价:350。

增加一个3,代价:360;删除一个3,代价:200。

增加一个4,代价:220;删除一个4,代价:320。

请问如何通过最少的代价将一个数字变换为一个回文数。当然,如果一个数字本身已经是一个回文数(包括一位数,例如:2),那么变换的代价为0。

输入描述:

单组输入。

输入一个由1、2、3、4组成的正整数,正整数位数<=100位。【提示:采用字符串输入】

输入样例: 12322 输出描述:

输出一个整数,表示将输入数字变换为一个回文数所需的最少代价。

输出样例 300