首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从谦卑寻找给定置换中缺失元素的算法的思想过程

从谦卑寻找给定置换中缺失元素的算法的思想过程
EN

Stack Overflow用户
提问于 2015-01-27 16:40:50
回答 1查看 443关注 0票数 2

我为谦卑的PermMissingElem问题n找到了这个完美的答案。

代码语言:javascript
复制
function solution($A) {
    $N   = count($A);
    $sum = ($N + 2) * ($N + 1) / 2;
    for($i = 0; $i < $N; $i++){
        $sum -= $A[$i];
    }
    return intval($sum);
}

然而,对于这笔款项的作用,我感到很困惑。这是什么功能?这是令人惊讶的正确,然而,为什么有人可以组成这样的功能?,有谁可以以某种方式反向工程的思维过程?我真的很想知道这个过程是怎么发生的。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-27 20:34:28

从1到N的整数之和可以用这个公式计算:

代码语言:javascript
复制
N(N+1)/2

基本上,您获取第一个数字和最后一个数字,并将它们相加在一起,然后是第二个数字和第二个到最后一个number..etc。

例如:

1至100之和:

代码语言:javascript
复制
(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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28175495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档