【HackerRank】The Love-Letter Mystery
James找到了他的朋友Harry要给女朋友的情书。James很爱恶作剧,所以他决定要胡搞一下。他把信中的每个单字都变成了回文。对任何给定的字符串,他可以减少其中任何一个字符的值,例如'd'可以变成'c',这算是一次操作。(另外,他最多只能将字符的值减少至'a','a'不能再被减少成'z')。找出将给定字符串转换成回文所需的最少操作次数。
输入格式
第一行包含整数 T 代表测试数据的组数。
接着 T 行各包含一个字符串。
输出格式
每个测试数据各输出一行,代表此数据需要的最少操作次数。
取值范围
1 ≤ T ≤ 10
1 ≤ 字符串长度 ≤ 104
题解:很简单的题,开始居然还想DFS=。=
要把某个字符串变成回文,就要把i和L-i上的字符变成一样的,所以只要计算所有的abs(s[i]-s[L-i])的和就可以了。
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*; public class Solution {
static int The_Love_Letter_Mystery(String s){
int sum = 0;
if(s.length() <= 1)
return 0;
int start = 0;
int end = s.length()-1;
while(start<end){
sum += Math.abs(s.charAt(start) - s.charAt(end));
start++;
end--;
}
return sum;
} public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int t = in.nextInt();
for(int i = 0;i < t;i++){
String string = in.next();
System.out.println(The_Love_Letter_Mystery(string));
} }
}
【HackerRank】The Love-Letter Mystery的更多相关文章
- 【HackerRank】How Many Substrings?
https://www.hackerrank.com/challenges/how-many-substrings/problem 题解 似乎是被毒瘤澜澜放弃做T3的一道题(因为ASDFZ有很多人做过 ...
- 【HackerRank】Running Time of Quicksort
题目链接:Running Time of Quicksort Challenge In practice, how much faster is Quicksort (in-place) than I ...
- 【HackerRank】 Game Of Thrones - I
King Robert has 7 kingdoms under his rule. He gets to know from a raven that the Dothraki are going ...
- 【HackerRank】Gem Stones
Gem Stones John has discovered various rocks. Each rock is composed of various elements, and each el ...
- 【leetcode】828. Unique Letter String
题目如下: A character is unique in string S if it occurs exactly once in it. For example, in string S = ...
- 【hackerrank】Week of Code 30
Candy Replenishing Robot Find the Minimum Number 直接模拟 Melodious password dfs输出方案 Poles 题意:有多个仓库,只能从后 ...
- 【hackerrank】Week of Code 26
在jxzz上发现的一个做题网站,每周都有训练题,题目质量……前三题比较水,后面好神啊,而且类型差不多,这周似乎是计数专题…… Army Game 然后给出n*m,问需要多少个小红点能全部占领 解法:乘 ...
- 【HackerRank】Median
题目链接:Median 做了整整一天T_T 尝试了各种方法: 首先看了解答,可以用multiset,但是发现java不支持: 然后想起来用堆,这个基本思想其实很巧妙的,就是维护一个最大堆和最小堆,最大 ...
- 【HackerRank】Coin on the Table
题目链接:Coin on the Table 一开始想用DFS做的,做了好久都超时. 看了题解才明白要用动态规划. 设置一个三维数组dp,其中dp[i][j][k]表示在时间k到达(i,j)所需要做的 ...
随机推荐
- 一步一步解析H.264码流的NALU(SPS,PSS,IDR)获取宽高和帧率
分析H.264码流的工具 CodecVisa,StreamEye以及VM Analyzer NALU是由NALU头和RBSP数据组成,而RBSP可能是SPS,PPS,Slice或SEI 而且SPS位于 ...
- 微信强大的demo
https://github.com/xialeistudio/wechatPublicPlatform
- struts.xml文件:
struts.xml文件中包含的配置信息,你将修改所采取的措施的开发.这个文件可以被用来覆盖默认设置的应用程序,例如struts.devMode=false和其他设置中定义的属性文件.这个文件可以创建 ...
- RAC中数据文件创建到了本地路径(非系统表空间) 使用rman转移
环境: 11.2.0.1 + RHEL5.8 參考文档ID:1678747.1 1.模拟创建 一节点: SQL> create tablespace tdb datafile '/u02/app ...
- Android无线测试之—UiAutomator UiSelector API介绍之三
节点关系介绍 每一个布局文件都是一个严格的层次结构布局文件,只有对层次结构非常的了解,才能更好的搜索定位我们需要的主键元素 一.XML文档节点关系介绍 备注:查看节点关系主要使用UiAutomatro ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)3.1——使用Build Types
问题: 你想要自定义debug和release的build types,并且新建一些新的types. 解决方案: 使用buildTypes块配置build types. 讨论: build type决 ...
- filter、map函数的区别
def even(num): if num%2==0: return True return False lis = [1,2,3,4,5,6,7,8,9] res = filter(even,lis ...
- Android系统中Parcelable和Serializable的区别,自动化实现Parcelable接口的插件
Parcelable和Serializable的区别 参考地址:http://greenrobot.me/devpost/android-parcelable-serializable/ 由于最终的区 ...
- asp.net mvc4连接mysql
环境:vs2013+mysql5.6+mysql connector for .net 6.8.3+MySQL for Visual Studio 1.1.3 参考:http://dev.mysql. ...
- nginx + uwsgi + django/flask Nginx + php-fpm + PHP
后端服务器设置nginx + uwsgi + django/flask需要注意的问题 - ACE开发者 https://acejoy.com/2018/09/09/547/ 后端开发应用中,除了Ngi ...