第一个:
Set去重,按数组下标添加set容器里面如果出现一样的那么set的长度就会变小。
public class arg{
public static void main(String[] args) {
for (int i = 10; i < 100; i++) {
int i1 = i *i* i;
int i2 = i1 * i;
String s1 = i1+"";
String s2 = i2+"";
if (s1.length()==4&&s2.length()==6&&check( s: s1+s2)) {
System.out.println(i);
break;
}
}
}
private static boolean check(String s) {
Set<Character> set = new HashSet<Character>();
for (int i = 0; i < s.length(; i++) {
set.add(s.charAt(i));
}
return set.size()==10;
}
}
第二个:
用异或消除相同的元素,X^X=0, X^0=X。
可以理解为不带进位的加法运算。
int x1 = 0;
for (int i = 1; i <= N-1; i+) {
x1 = (x1^i);
}
for (int i = 0; i < N; i+) {
x1 = x1^arr[i];
}
System.out.print1n(x1);