如何从 Dart 中的列表中查找缺失的数字

How to find a missing number from a list in Dart

如何从 Dart 语言的列表中查找缺失的数字

a=[1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12];
for(int num in a){
  if(a.contains(num+1) == false && a.last != num){
    return num+1
  }
   return null; // No missing value
}

假设您想在示例中找到 7,您可以这样做。它检查是否提供了下一个值。还需要检查最后一个元素,因为 lastElement+1 永远不会包含在数组中。

假设列表已排序,您可以使用:

Iterable<int> findMissingInts(List<int> ints) sync* {
  for (var i = 0; i < ints.length - 1; i++) {
    for (var j = ints[i] + 1; j < ints[i + 1]; j++) {
      yield j;
    }
  } 
}

main() {
  print(findMissingInts([1,2,4,5,8])); //(3, 6, 7)
}