【发布时间】:2014-08-12 05:32:32
【问题描述】:
任何人都可以使用编程语言 Go 解决以下问题吗?
詹姆斯拿到了他的朋友哈利写给他的一封情书 他的女朋友。作为詹姆斯的恶作剧者,他决定 插手它。他把信中的所有词都改成 回文。
在修改单词的字母时,他遵循两条规则:
他总是降低字母的值,例如他将“d”更改为 'c',但他没有将'c' 更改为'd'。
如果他不得不反复 减少一个字母的价值,他可以做到直到字母变成 '一种'。一旦字母被更改为“a”,它就不能再 改变了。
任何字母值的每次减少都算作一次 手术。找出他执行的最小操作数 将给定的字符串转换为回文。
输入格式
第一行包含一个整数T,即数字 的测试用例。接下来的 T 行每行都包含一个字符串。
输出格式
单行包含最小数量 每个测试用例对应的操作。
约束
1 ≤ T ≤ 10 1 ≤ 字符串长度 ≤ 104 所有字符都是 小写。
示例输入
#00 3 abc abcba abcd
样本输出
#00 2 0 4
说明
对于第一个测试用例,ab*c* -> ab*b* -> ab*a*。为了 第二个测试用例,abcba 是一个回文字符串。对于第三次测试 案例,abc*d* -> abc*c* -> abc*b* -> abc*a* = ab*c*a -> ab*b*a。
这个谜题来自 HackerRank.com 我是一个 golang 新手,无法使用该语言解决这个谜题。
【问题讨论】:
-
提示:字符表示为数字。任意两个数之间的距离是多少?
-
约束应该更精确:所有字符都是小写ASCII字母。
-
这个问题似乎离题了,因为它属于codegolf.stackexchange.com。
标签: go