如何在1到100的整數數組上找到缺失的數字

一、數組元素爲 1~100 內的整數,長度爲 N,且數字不重複,如何查找缺失的數字

題目:給定一數組如 [1, 2, 3, 5],如何查找出缺失的數字 4.
解題思路:數字有規律,1~100 內的連續數字,只缺失一個數字,只要求和相減即可 (Sum1 - Sum2)。其中, Sum1 代表的是完整不缺數字的期待總和,等於 1+2+3+4+5=5*(5+1)/2=15,其演變表達式爲 N(N+1)/2; Sum2 代表是的數組元素的總和,等於 1+2+3+5=11。所以缺失的數字爲 4=15-11.

Javascript 實現

function getMissingNum(arr){
    var n = arr.length + 1; // N + 1, 最大項
    var expectedSum = n * (n + 1) / 2; // Sum1
    var sum = 0; // Sum2
    arr.map(item=>sum+=item);
    return expectedSum - sum;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章