gpt4 book ai didi

c# - LINQ 可以用于查找排序列表中的间隙吗?

转载 作者:IT王子 更新时间:2023-10-29 04:20:01 26 4
gpt4 key购买 nike

我是否有可能以允许我确定“9”的方式使用 LINQ 是排序列表中的第一个缺失值而不使用 for 循环并将每个值与相邻值进行比较?

var listStringVals = new [] { "7", "13", "8", "12", "10", "11", "14" };
// sort list to "7","8","10","11","12","13","14"
var sortedList = listStringVals.OrderBy(c => int.Parse(c)).ToList();
// need some magic here to get the first gap in the sorted list

最佳答案

var strings = new string[] { "7", "13", "8", "12", "10", "11", "14" };

然后

var list = Array.ConvertAll(strings, s => Int32.Parse(s)).OrderBy(i => i);
// or
var list = strings.Select(s => int.Parse(s)).OrderBy(i => i);
// or
var list = strings.OrderBy(s => int.Parse(s));

(注意 this 问题)

然后

var result = Enumerable.Range(list.Min(), list.Count).Except(list).First(); // 9
// or
int min = list.Min(), max = list.Max();
var result = Enumerable.Range(min, max - min + 1).Except(list).First();

关于c# - LINQ 可以用于查找排序列表中的间隙吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4270321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com