算法:在一组集合中,取得第K小的值
2014-11-18 09:54
141 查看
class Calculate<T> { public List<List<T>> Lists; public Calculate(List<List<T>> _Lists) { Lists = _Lists; } private List<T> UnionLists() { List<T> results = new List<T>(); for (int i = 0; i < Lists.Count; i++) { for (int j = 0; j < Lists[i].Count; j++) { results.Add(Lists[i][j]); } } results.Sort(); results = results.Distinct().ToList(); ; return results; } public T getIndex(int K) { List<T> results = UnionLists(); return results.ElementAt(K-1); } }
List<int> list1 = new List<int> { 5, 6, 10 }; List<int> list2 = new List<int> { 5, 6, 10 }; List<int> list3 = new List<int> { 8, 9, 12 }; List<int> list4 = new List<int> { 9, 13, 15 }; List<List<int>> list = new List<List<int>> { list1,list2,list3,list4}; Calculate<int> cal = new Calculate<int>(list); Console.WriteLine(cal.getIndex(4)); Console.ReadLine();
相关文章推荐
- collections 接口存储一组不唯一,无序的对象。提供了对集合进行排序,遍历等对种算法的实现
- 一道算法题:求和为某正整数的所有正整数集合
- 黑马程序员-Java的集合类(java中类的容器)和算法
- A,B两个整数集合,设计一个算法求他们的交集,尽可能的高效
- 【转】STL算法-合并(集合)
- 算法之 统计集合元素相加为给定值的组合数(高效版)
- 算法代码实现之选出第k小元素、中位数、最小的k个元素(线性复杂度),Java实现
- 【算法-快速排序】第k大元素(Kth Largest Element)
- 从轮廓中取得四肢与头部的算法
- 根据simhash找出集合中相似文档的算法
- 算法:C++实现O(n)复杂度内查找第K大数
- 【干货】2018值得尝试的无参数全局优化新算法,所有测试取得最优结果
- BFPTR算法(中位数的中位数算法)求n个数中第k大的数
- 【算法题】百度笔试题——求一组线段的最大重叠区域
- 算法1-两个由小到大的有序集合合并成一个由大到小的集合(JAVA实现)
- AjaxControlToolkit是一组控件的集合,可以实现自动补充文本框
- 集合的所有子集的算法
- n个对象中取得m个对象组合的算法
- 求一组数的全部子集算法
- 整型数组处理算法(二)文件中有一组整数,要求排序后输出到另一个文件中