字符串数组data[i]; 全是纯数值
求出其中绝对值数值最大的10个数
大家有什么高招?
8 个解决方案
#1
int[] arr = new int[11]{1,4,2,8,-9,5,6,3,5,7,-8};
var v = (from i in arr orderby Math.Abs(i) select i).Reverse().Take(10);
int[] r = v.ToArray();//r是结果
#2
var result = data.Select(s => Convert.ToInt32(s)).OrderByDescending(x => x).Take(10);
#3
忘记绝对值了
var result = data.Select(s => Convert.ToInt32(s)).OrderByDescending(x => Math.Abs(x)).Take(10);
var result = data.Select(s => Convert.ToInt32(s)).OrderByDescending(x => Math.Abs(x)).Take(10);
#4
能稍微给个注释不。。
#5
data[]是字符串数组
data.Select(s => Convert.ToInt32(s)) 先将数组中每个元素转换为整数
.OrderByDescending(x => Math.Abs(x)) 按最大值倒序排序
.Take(10); 取集合中前10个
data.Select(s => Convert.ToInt32(s)) 先将数组中每个元素转换为整数
.OrderByDescending(x => Math.Abs(x)) 按最大值倒序排序
.Take(10); 取集合中前10个
#6
他们用的是LINQ的方法。如果无法理解,其实你就用最简单的冒泡排序,也可以得到你需要的结果的。只需要把冒泡排序里的比较条件改一改就OK了。
#7
//变成这样是不是就好理解了
int[] arr = new int[11] { 1, 4, 2, 8, -9, 5, 6, 3, 5, 7, -8 };
var v = from i in arr orderby Math.Abs(i) descending select i; //把数组中元素按绝对值降序排赋给v
int[] r = v.Take(10).ToArray(); //再把v从序列开头取10个元素转化为数组,赋给r
#8
多谢各位~~分数不多~~给分喽
#1
int[] arr = new int[11]{1,4,2,8,-9,5,6,3,5,7,-8};
var v = (from i in arr orderby Math.Abs(i) select i).Reverse().Take(10);
int[] r = v.ToArray();//r是结果
#2
var result = data.Select(s => Convert.ToInt32(s)).OrderByDescending(x => x).Take(10);
#3
忘记绝对值了
var result = data.Select(s => Convert.ToInt32(s)).OrderByDescending(x => Math.Abs(x)).Take(10);
var result = data.Select(s => Convert.ToInt32(s)).OrderByDescending(x => Math.Abs(x)).Take(10);
#4
能稍微给个注释不。。
#5
data[]是字符串数组
data.Select(s => Convert.ToInt32(s)) 先将数组中每个元素转换为整数
.OrderByDescending(x => Math.Abs(x)) 按最大值倒序排序
.Take(10); 取集合中前10个
data.Select(s => Convert.ToInt32(s)) 先将数组中每个元素转换为整数
.OrderByDescending(x => Math.Abs(x)) 按最大值倒序排序
.Take(10); 取集合中前10个
#6
他们用的是LINQ的方法。如果无法理解,其实你就用最简单的冒泡排序,也可以得到你需要的结果的。只需要把冒泡排序里的比较条件改一改就OK了。
#7
//变成这样是不是就好理解了
int[] arr = new int[11] { 1, 4, 2, 8, -9, 5, 6, 3, 5, 7, -8 };
var v = from i in arr orderby Math.Abs(i) descending select i; //把数组中元素按绝对值降序排赋给v
int[] r = v.Take(10).ToArray(); //再把v从序列开头取10个元素转化为数组,赋给r
#8
多谢各位~~分数不多~~给分喽