aaa*_*aaa 0 java arrays algorithm loops
我正在尝试取一个数组,检查是否有任何欺骗,并删除该字母的所有实例,我目前正在尝试使用的方法非常难看
例;
In: ABBCCDE
Out: ADE
Run Code Online (Sandbox Code Playgroud)
要么
In: BCACDF
Out: BADF
Run Code Online (Sandbox Code Playgroud)
我目前正在使用两个for循环来查找dupes,将该dupe的Char []添加到OTHER数组中,然后循环使用另外两个for循环来删除我的ErrorArray中的chars.
这可能是一个解决方案:
public static void main(String[] args) {
char[] arr = { 'A', 'B', 'B', 'C', 'C', 'D', 'E' };
Set<Character> in = new HashSet<>();
Set<Character> dupe = new HashSet<>();
for (char c : arr) {
if (!dupe.contains(c)) {
if (in.contains(c)) {
dupe.add(c);
in.remove(c);
} else {
in.add(c);
}
}
}
char[] arrR = new char[in.size()];
int i = 0;
for (char c : in) {
arrR[i++] = c;
}
for (char c : arrR) {
System.out.println(c);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
384 次 |
| 最近记录: |