在C#中查找序列中的缺失数字
设定列表。
List<int> myList = new List<int>(){1, 2, 3, 5, 8, 9};现在,获取第一个和最后一个元素-
int a = myList.OrderBy(x => x).First(); int b = myList.OrderBy(x => x).Last();
在新列表中,获取所有元素并使用Except来获取缺失的数字-
List<int> myList2 = Enumerable.Range(a, b - a + 1).ToList(); List<int> remaining = myList2.Except(myList).ToList();
让我们看完整的代码-
示例
using System.Collections.Generic;
using System;
using System.Linq;
public class Program {
public static void Main() {
List<int> myList = new List<int>(){1, 2, 3, 5, 8, 9};
Console.WriteLine("Numbers... ");
foreach(int val in myList) {
Console.WriteLine(val);
}
int a = myList.OrderBy(x => x).First();
int b = myList.OrderBy(x => x).Last();
List<int> myList2 = Enumerable.Range(a, b - a + 1).ToList();
List<int> remaining = myList2.Except(myList).ToList();
Console.WriteLine("Remaining numbers... ");
foreach (int res in remaining) {
Console.WriteLine(res);
}
}
}输出结果
Numbers... 1 2 3 5 8 9 Remaining numbers... 4 6 7
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短