【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)所需要做的 ...
随机推荐
- 关于LNMP服务器 Thinkphp5验证码不显示问题
关于LNMP服务器 Thinkphp5验证码不显示问题 浏览:246 发布日期:2017/09/20 分类:ThinkPHP5专区 关键字: thinkphp验证码不显示 nginx下验证码不显示 ...
- one thinkphp 文档
http://document.onethink.cn/manual_1_0.html#onethink_usehelp_config 官网:http://www.onethink.cn/topic/ ...
- python django -3 视图
视图 视图接受Web请求并且返回Web响应 视图就是一个python函数,被定义在views.py中 响应可以是一张网页的HTML内容,一个重定向,一个404错误等等 响应处理过程如下图: URLco ...
- Python Theano 一键安装
Download Anaconda Anaconda is a completely free Python distribution (including for commercial use an ...
- Redis 在windows中启动
redis-server.exe redis.windows.conf 或 redis-server.exe redis.conf
- nginx配置后只有根目录首页index.php能访问,其他页面404
只有首页面根目录可以访问,其他页面地址都是404 not found.网上找了半天url重定向,url重写都试了无效,要不就是重定向过多,下图为跳坑历程. location / { #if ($htt ...
- phantom的使用
phantom页面加载 通过Phantomjs,一个网页可以被加载.分析和通过创建网页对象呈现,访问我的博客园地址:http://www.cnblogs.com/paulversion/p/83938 ...
- iOS学习笔记(四)——iOS应用程序生命周期
开发应用程序都要了解其生命周期,开始接触android时也是从应用程序生命周期开始的,android的应用程序生命周期更多是其组件的生命周期,例如Activity.Service.今天我们接触一下iO ...
- 导出excel页面假死
如果是asp.net页面 public override void VerifyRenderingInServerForm(Control control) {} 如果是Sharepoint w ...
- linux linux 互传文件 win 不通过 ftp sftp 往linux 传文件(文件夹)
linux 传入 传出文件 swp port 22 怎样通过swp通过docker 容器向外传文件 通过scp Linux互传文件,需要知道文件源 file source 所在系统的ip wuse ...