读书人

C# 高分求个算法,该如何处理

发布时间: 2013-02-25 10:23:36 作者: rapoo

C# 高分求个算法
一 二 三
1 7 9
2 4 9
2 1 8
5 7 0
3 4 9
7 8 2

我想要把这些数字处理成

每一行数据都判断。。哪个号码现在的距离
比如第一行 1距离现在是6 ,2距离现在是5 ,5距离现在是3 ,3距离现在是2,,7距离现在是1.我要重新排序的到最高的2位,也就是要得到1-6次,2-4次

最终显示

第一行:1-6次,2-4次
第二行:1-4次,7-3次
第三行:8-4次,0-3次
[解决办法]
终于看明白了

我要重新排序的到最高的2位,也就是要得到1-6次,2-4次

//我要重新排序得到最高的2位,也就是要得到1-6次,2-4次

最高两位 意思是距离这一列最下方即将出现的数字的距离 最大的两个

比如

一 二 三
1 7 9
2 4 9
2 1 8
5 7 0
3 4 9
7 8 2
x y z

1距离x有6个距离 //楼主这样说的。。。没办法

2距离x有有5个距离

第二个2距离x--4
5--3
3--2
7--1

由此可得楼主 ---得到最高的2位 6和5距离 满足

分别对应楼主 第一行:1-6次,2-4次这个答案

鼓掌
[解决办法]

List<int> L_1 = new List<int> { 1, 2, 2, 5, 3, 7 };
List<int> Res = new List<int>();
for (int i = 0; i < 10; i++)
{
int Tempi = L_1.FindLastIndex(delegate(int s) { return s == i; });
if (Tempi >= 0)
Res.Add(6 - Tempi);
else
Res.Add(-1);
}


Res中索引对应的距离

这样就没压力了吧

下面的你自己写吧

读书人网 >C#

热点推荐