gpt4 book ai didi

java - charAt 用于确定唯一字符时

转载 作者:行者123 更新时间:2023-12-01 11:08:45 27 4
gpt4 key购买 nike

我正在审查一个尝试确定字符串中的所有字符是否唯一的问题。这是算法

public static boolean unique(String s) {
if(s.length() > 128) {
return false;
}
boolean[] char_set = new boolean[256];
for(int i = 0; i < s.length(); i++) {
int val = s.charAt(i);
System.out.println(i + ": " + val);
if(char_set[val]) { // already found this char in string
return false;
}
char_set[val] = true;
}
return true;
}

特别是,我的含糊之处在于:

int val = s.charAt(i);

据我了解,ASCII 字符有 128 个唯一字符。 s.charAt(i) 只是返回 ASCII 字符串中字符的索引吗?

使用示例字符串12310

我得到以下 val 值:

0: 32
1: 49
2: 50
3: 51
4: 49

如果值 3249 等不是 ASCII 字符串的字符索引,我完全不知道它是从哪里来的。

最佳答案

From my understanding, ASCII characters have 128 unique characters. Is s.charAt(i) simply returning the index of the character within the ASCII string?

不,String#charAt 返回指定索引处的 char 值。 Find more in documentation .

32, 49, ... 是 char ascii 值。

关于java - charAt 用于确定唯一字符时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32615170/

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