gpt4 book ai didi

java - 2 个不同数组中的公共(public)元素

转载 作者:行者123 更新时间:2023-12-01 05:05:32 25 4
gpt4 key购买 nike

我正在制作一个基本的编码算法,它接受输入,对其进行编码(使用随机数),然后解密。数组用“char”类型填充。它单独加密每个字母。如何检查在对字母进行编码时,同一字母没有被编码为其他内容。

示例

编码

abc

a 被赋予随机数 2b 被赋予随机数 5我怎样才能防止 c 被给予 2 或 5

非常感谢!

最佳答案

这是我的建议:

    Character yourInput[] = {'a', 'b', 'c', 'd'};
int yourInputEncoded[] = new int[yourInput.length];
Hashtable<Character, Integer> charToInt = new Hashtable<Character, Integer>();
ArrayList<Integer> alreadyUsedInt = new ArrayList<Integer>();
Random randomize = new Random();
for(int i = 0; i < yourInput.length; i++)
{
if(!charToInt.containsKey(yourInput[i]))
{
int randomInt = randomize.nextInt();
while(!alreadyUsedInt.contains(randomInt))
randomInt = randomize.nextInt();

charToInt.put(yourInput[i], randomInt);
alreadyUsedInt.add(randomInt);
}
yourInputEncoded[i] = charToInt.get(yourInput[i]);
}

对于每个字符,我们检查是否与 int 关联。如果没有,我们(随机)生成一个新的关联 int (以前从未使用过)。之后我们将 char 替换为其关联的 int。就是它:)

关于java - 2 个不同数组中的公共(public)元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12746001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com