如何获取数组,并比较数组中的三个值,而不是多次比较这些值。
我可以使用三个嵌套循环进行迭代,但这将导致相同的内部块被调用三次。我想要NlogN时间。
For Loop
For Loop
For Loop
add values and store if greater than max
答案 0 :(得分:1)
我不确定我是否完全遵循这个问题,但你可能想做的是做这样的事情:
for i from 1 to N {
for j from i+1 to N {
for k from j+1 to N {
if (i+j+k > currentMax) {
// do stuff
}
}
}
}