首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

有没有更容易的算法呢

2012-06-22 
有没有更简单的算法呢?单元格[1,1]6 [1,2]1 [1,3]3[2,1]7 [2,2]3 [2,3]9[3,1]3 [3,2]8 [3,3]3红

有没有更简单的算法呢?
单元格
[1,1]=6 [1,2]=1 [1,3]=3
[2,1]=7 [2,2]=3 [2,3]=9
[3,1]=3 [3,2]=8 [3,3]=3

红色单元格的数值 从上到下 依次是 6-7-8,形成了3连号

如何判断是否形成了3连号呢?

我只会

C# code
if (([3,1]==8 || [3,2]==8 ||[3,3]==8) &&      ([2,1]==7 || [2,3]==7 ||[2,4]==7) &&      ([1,1]==6 || [1,3]==6 ||[1,4]==6)){    [3.4] = "三连";}


有没有更简明的判断方法呢? 是不是可以用 泛型 List<T> contains 的语句呢?如果是,具体代码该怎么写呢?谢谢

(单元格的表示方法从简)
 



[解决办法]
二位数组,不确定行的对应

ArrayList<ArrayList<Integer>> arrays = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> array = null;
for(循环插入数据) {
array = new ArrayList<Integer>();
array.add(6);
array.add(1);
array.add(3);
arrays.add(array);
}
for (int i = 0; i < arrays.size() - 2; i++) {
if (arrays.get(i).contains(6) 
&& arrays.get(i).contains(7) 
&& arrays.get(i).contains(8)) {
[3, 4] = "三连";
}
}
[解决办法]
探讨
引用:

C# code
var l1 = new List<int>(3) { [1,1], [1,2], [1,3] };
var l2 = new List<int>(3) { [2,1], [2,2], [2,3] };
var l3 = new List<int>(3) { [3,1], [3,2], [3,3] };
if (l1.Contains(6) &……

[解决办法]
探讨

引用:
引用:

C# code
var l1 = new List<int>(3) { [1,1], [1,2], [1,3] };
var l2 = new List<int>(3) { [2,1], [2,2], [2,3] };
var l3 = new List<int>(3) { [3,1], [3,2], [3,3] };
if (……

热点排行