我为谦卑的PermMissingElem问题n找到了这个完美的答案。
function solution($A) {
$N = count($A);
$sum = ($N + 2) * ($N + 1) / 2;
for($i = 0; $i < $N; $i++){
$sum -= $A[$i];
}
return intval($sum);
}然而,对于这笔款项的作用,我感到很困惑。这是什么功能?这是令人惊讶的正确,然而,为什么有人可以组成这样的功能?,有谁可以以某种方式反向工程的思维过程?我真的很想知道这个过程是怎么发生的。
谢谢!
发布于 2015-01-27 20:34:28
从1到N的整数之和可以用这个公式计算:
N(N+1)/2基本上,您获取第一个数字和最后一个数字,并将它们相加在一起,然后是第二个数字和第二个到最后一个number..etc。
例如:
1至100之和:
(1+100) + (2+99) + (3+98) + (4+97) ...
= (100/2)(101)
= 50 x 101以下是一个很好的解释:
http://www.wikihow.com/Sum-the-Integers-from-1-to-N
https://stackoverflow.com/questions/28175495
复制相似问题