• L848字母位移


    //有一个由小写字母组成的字符串 s,和一个长度相同的整数数组 shifts。
    //我们将字母表中的下一个字母称为原字母的 移位 shift() (由于字母表是环绕的, 'z' 将会变成 'a')。
    //例如,shift('a') = 'b', shift('t') = 'u', 以及 shift('z') = 'a'。
    //对于每个 shifts[i] = x , 我们会将 s 中的前 i + 1 个字母移位 x 次。
    //返回 将所有这些移位都应用到 s 后最终得到的字符串 。
    //示例 1:
    //
    //输入:s = "abc", shifts = [3,5,9]
    //输出:"rpl"
    //解释:
    //我们以 "abc" 开始。
    //将 S 中的第 1 个字母移位 3 次后,我们得到 "dbc"。
    //再将 S 中的前 2 个字母移位 5 次后,我们得到 "igc"。
    //最后将 S 中的这 3 个字母移位 9 次后,我们得到答案 "rpl"。
    //
    //示例 2:
    //abcdefghijklmnopqrstuvwxyz
    //输入: s = "aaa", shifts = [1,2,3]
    //baa
    //dca
    //gfd
    //输出: "gfd"

    //提示:
    //    1 <= s.length <= 105
    //    s 由小写英文字母组成
    //    shifts.length == s.length
    //    0 <= shifts[i] <= 109

    1. public class L848字母位移 {
    2. public static void main(String[] args) {
    3. // TODO 自动生成的方法存根
    4. Scanner sc=new Scanner(System.in);
    5. String s=sc.next();
    6. int []shifts=new int[s.length()];
    7. for(int i=0;i<s.length();i++) {
    8. shifts[i]=sc.nextInt();
    9. }
    10. String stri=shiftingLetters(s,shifts);
    11. System.out.println(stri);
    12. }
    13. public static String shiftingLetters(String s, int[] shifts) {
    14. char []str=new char[s.length()];
    15. char []str1=new char[s.length()];
    16. int []num=new int[s.length()];
    17. String string="";
    18. int i=0;
    19. for(i=0;i<s.length();i++) {
    20. str[i]=s.charAt(i);
    21. num[i]=str[i];
    22. }
    23. i=0;
    24. while(i<s.length()) {
    25. for(int j=0;j<=i;j++) {
    26. num[j]+=shifts[i];
    27. if(num[j]>122) {
    28. num[j]-=26;
    29. }
    30. }
    31. i++;
    32. }
    33. for(i=0;i<s.length();i++) {
    34. str1[i]=(char) num[i];
    35. string+=str1[i];
    36. }
    37. return string;
    38. }
    39. }

  • 相关阅读:
    区块链和IPFS安全测试工具;ECC+AES混合加密机制:秘钥管理
    对象存储OSS服务器邀请试用
    可视化3个10分类
    Rust 基础(五)
    Spark 之 Projection
    React 入门:对比 Reac t的新旧生命周期
    【csapp lab】lab2_bomblab
    Java教程:一文搞懂hashmap是否线程安全
    C++入门篇2
    C++二分算法: 找出第 K 小的数对距离
  • 原文地址:https://blog.csdn.net/m0_64238242/article/details/127947641