题解 | #字符串加密#

字符串加密

https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别

        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String str = in.nextLine();
            String res = in.nextLine();
		  //存放新顺序的26个字母
            char [] arr  = new char[26];
		  //检验字母重复
            int [] check = new int [26];
            int j = 0;
		  //将key去重放入 arr中
            for (int i = 0 ; i < str.length(); i++) {
                char c = str.charAt(i);
                if (check[c - 'a'] == 0) {
                    arr[j] = c;
                    j++;
                }
                check[c - 'a'] = 1;
            }
		//将剩余的字母按顺序放入arr中
            for(int i = 0 ; i <26 ; i++){
                if(check[i]==0){
                    arr[j] = (char)('a'+i);
                    j++;
                }
            }
            StringBuffer resBuffer = new StringBuffer();
		  //解密
            for(int i = 0 ; i <res.length();i++){
              char c =   arr[res.charAt(i)-'a'];
              resBuffer.append(c);

            }
            System.out.println(resBuffer);
        }
    }
}

全部评论

相关推荐

11-11 17:45
门头沟学院 Java
扶老蟑螂过马路被无证...:1. 技术栈那里把数据结构删了,小中厂用不上,大厂手撕能难死你,linux那里可以考虑删掉,还不如换个git团队协作开发 2.不要使用一些项目不匹配的技术,例如分库分表和你上边的ddd,真正使用ddd的都是【超】大规模,大部分都仍然使用多模块聚合mvc,这样虽然看起来高大上,但是新增了前期协定需求跟后期维护的成本,因为开发中都是选择最适合当起版本的开发方式跟中间件,这样反而会体现你为了学而学(因为可能面试官都不完全熟悉ddd,然后问你你也回答不出深度) 3.项目写了很多的redis使用,为什么技术栈不写上redis 4.项目技术栈跟业务需求高度重合,完全可以整合成一个,然后再去弄一个感兴趣的其他业务或者轮子,或者把上面的一个换下包装 5.奖项自己编一点奖学金,加个四六级,删掉蓝桥杯
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务