c# - 基于它们包含的唯一数字集的整数分区列表
问题描述
我有一个整数列表列表,例如-
List<List<int>> dataList = new List<List<int>> {
new List<int>{ 0, 2, 4, 7 },
new List<int>{ 1, 6, 3 },
new List<int>{ 2, 0, 7, 9 },
new List<int>{ 3, 1, 6 },
new List<int>{ 4, 0, 2 },
new List<int>{ 5, 2, 7 },
};
我想合并所有具有重复项的列表并生成一个整数列表列表,其中任何列表中都不应有任何值。
输出应该是——
0、2、4、5、7、9
1、3、6
解决方案
如果你想要一个列表,那么你可以这样做:
// flatten your list:
var newList = new List<int>();
foreach (var list in output) {
newList.AddRange(list);
}
// make sure every number is only once in that list:
newList.Distinct() // here is linq!
var output = new List<List<int>>();
output.Add(newList);
推荐阅读
- scikit-learn - 为什么我的 r^2 值一直是负数?
- html - 如何在另一个 div 元素中获取图像以对悬停在最外面的 div 元素上做出反应?
- html - Avoid inheriting of parent's css effect
- react-native - React Redux 减速器没有返回
- python - I can't browse the pages Beautifulsoup
- matlab - RC滤波器的MATLAB Lsim初始值不起作用
- python-3.x - 如何使用 Python3 在 Google-docs 文档中执行文本搜索
- java - is this use of objects redundant and/or inefficient?
- java - SnakeYAML 正在实例化 ArrayList 而不是 HashMap
- c# - UWP 中引用的 .NET Standard 库中 Process.Start 的访问被拒绝错误