我有1到100个唯一数字的字符串,其中(,)逗号分隔值如下所示,我错过了一个数字。那么如何找出丢失的号码。
Ex: - String s =“1,2,3,4,5,7,8,..... 100”;
/ *这里有6个错过上面的字符串,所以我怎么能通过使用核心java程序找到丢失的6个值* /
答案 0 :(得分:0)
如果整数列表已排序,则迭代它并将值与其数字索引键进行比较。只要一个是一个一个,你知道哪个号码丢失了,以及阵列中的位置是什么。
答案 1 :(得分:0)
当你遍历字符串时,检查字符串中的下一个数字是否是最后一个数字的+1。
anyMissing = false;
...
if (lastNumber+1 != currentNumber) anyMissing = true;
// or simply print the number or something
答案 2 :(得分:0)
试试这个:
public static void main(String args[]) {
String s="1, 2, 3, 4, 5, 7, 8";
int sum = 0;
int lastNumber = 0;
for (String str : s.split(",\\s+")) {
lastNumber = Integer.parseInt(str);
sum += lastNumber;
}
System.out.println((lastNumber * (lastNumber + 1) /2) - sum);
}
}