zoukankan      html  css  js  c++  java
  • 【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])的和就可以了。

     1 import java.io.*;
     2 import java.util.*;
     3 import java.text.*;
     4 import java.math.*;
     5 import java.util.regex.*;
     6 
     7 public class Solution {
     8    static int The_Love_Letter_Mystery(String s){
     9        int sum = 0;
    10        if(s.length() <= 1)
    11            return 0;
    12        int start = 0;
    13        int end = s.length()-1;
    14        while(start<end){
    15            sum += Math.abs(s.charAt(start) - s.charAt(end));
    16            start++;
    17            end--;
    18        }
    19        return sum;
    20    }
    21 
    22 
    23  public static void main(String[] args) {
    24      Scanner in = new Scanner(System.in);
    25      int t = in.nextInt();
    26      for(int i = 0;i < t;i++){
    27          String string = in.next();
    28          System.out.println(The_Love_Letter_Mystery(string));
    29      }
    30 
    31      
    32    }
    33 }
  • 相关阅读:
    android中给TextView或者Button的文字添加阴影效果
    android:layout_weight详解
    android Button 颜色的变化(点击,放开,点击不放)
    Android之最简单的ImageView加边框方法
    泳道图
    使用Navicat生成ER关系图并导出
    IDEA须知
    Error running Tomcat8: Address localhost:1099 is already in use(IDEA错误)
    3分钟打动投资人:商业计划书篇
    HTML按钮属性
  • 原文地址:https://www.cnblogs.com/sunshineatnoon/p/3875594.html
Copyright © 2011-2022 走看看