62,615
社区成员
发帖
与我相关
我的任务
分享
String s = "ssssssssss";
for (int i = 0; i < 10; i++) {
s += s;
}
String[] sb = new String[10000];
for (int i = 0; i < 10000; i++) {
s = s + i;
//这里是(1),下面没注释的是(2),注释(1)运行(2)与注释(2)运行(1)
//正常理解最终sb数组里应该是一样的,但。。自己运行看吧。
//String b= String.valueOf(i);
//(2)
String b = null;
if(i<10)
b = s.substring(s.length()-1);
else if(i<100)
b = s.substring(s.length()-2);
else if(i<1000)
b = s.substring(s.length()-3);
else if(i<10000)
b = s.substring(s.length()-4);
else
throw new RuntimeException();
sb[i]=b;
}
你们说为什么?
static boolean isExistedSum(int num, int[] arr) {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i : arr) {
if (!map.containsKey(i)) {
map.put(i, 1);
} else {
map.put(i, map.get(i) + 1);
}
}
for (int i : arr) {
int value = num - i;
if (map.containsKey(value)) {
if (num != 2 * value)
return true;
return map.get(value) >= 2;
}
}
return false;
}
static boolean isExistedSum(int num, int[] arr) {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i : arr) {
if (!map.containsKey(i)) {
map.put(i, 1);
} else {
map.put(i, map.get(i) + 1);
}
}
for (int i : arr) {
int value = num - i;
if (map.containsKey(value)) {
if (num != 2 * value)
return true;
return map.get(value) == 2;
}
}
return false;
}