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中索引对应的距离
这样就没压力了吧
下面的你自己写吧