题解 | #字符串加密#

字符串加密

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String key = sc.next();
        String password = sc.next();
        Set<Character> set = new LinkedHashSet<>();
        for (int i = 0; i < key.length(); i++) {
            set.add(key.charAt(i));
        }
        Map<Character, Character> dic = new HashMap<>();
        // 记录密钥
        int i = 0;
        for (Character ch : set) {
            char plain = (char) ('a' + i);
            dic.put(plain, ch);
            i++;
        }

        // 记录剩余的字母
        Set<Character> set1 = new LinkedHashSet<>();
        for (int j = 0; j < 26; j++) {
            char ch = (char) ('a' + j);
            if (!set.contains(ch)) {
                set1.add(ch);
            }
        }

        // 密文配对
        for (Character ch : set1) {
            char plain = (char) ('a' + i);
            dic.put(plain, ch);
            i++;
        }

        StringBuilder ans = new StringBuilder();
        for (int j = 0; j < password.length(); j++) {
            ans.append(dic.get(password.charAt(j)));
        }
        System.out.println(ans);
    }
}

全部评论

相关推荐

10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务