日期:2014-05-17  浏览次数:20813 次

如何能高效的进行数组内元素相加
数组A[100]用来控制条件
A[0]=0,
A[1]=1,
A[2]=1,

...
A[99]=1


数组B[100,2]用来存储数据和标识
B[0,1]=35,B[0,2]="A"
B[1,1]=50,B[1,2]="B"
B[2,1]=40,B[2,2]="B"

...
B[99,1]=40,B[99,2]="K"

现在需要根据A的值来判断,如果=1,则对应B数组的值相加。

例如:A[0]=0 A[1]=1 A[2]=1,则把对应数组B的 B[1,0]+B[2,0]=50+40=90




感觉用foreach 和 for效率很低,全部需要历遍一次才能完成...因为每次都要从头判断

有没有什么函数直接把符合条件的元素直接求和?

------解决方案--------------------
A你肯定要循环啊,B应该你是就有对应关系了,这个可以不循环
------解决方案--------------------
例如:A[0]=0 A[1]=1 A[2]=1,则把对应数组B的 B[1,0]+B[2,0]=50+40=90
这个例如我表示看不懂




------解决方案--------------------
例如:A[0]=0 A[1]=1 A[2]=1,则把对应数组B的 B[1,0]+B[2,0]=50+40=90这个到底啥意思????
是不是 当A[i]==true 时 return B[i][0]+B[i][1];
这个东西 很定是要遍历 的.没有捷径...
------解决方案--------------------
有没有什么函数直接把符合条件的元素直接求和?
你说的这个,无非是你调用别个写好的 函数而已..这个其实和你写的没什么区别..都得遍历