用 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP