Javascript题解 | #序列找数#

序列找数

http://www.nowcoder.com/practice/a7d1856a72404ea69fdfb5786d65539c

方法一:

主要利用数组方法includes,一次遍历。

代码

let arr = readline().split(' ')
let max = arr.shift()
let num = [...arr]
let temp = 0

for (let i = 0; i < max; i++){
    if (!num.includes(String(i))) {
        temp = i;
        break;
    }
}

console.log(temp);

方法二:

可以得出本题是一个0,1,2,3,4,....的一个序列,其中少了一个数字,那么可以得出原本预期的和是sum=0+1+2+3+4+...=(max+0)*(max+1)/2,其中max+1是项数。再算出实际的和,两者之差就是所求的数。

代码

let arr = readline().split(' ').map(e => +e);
let max = arr.shift();
let num = [...arr];

let oriSum = max * (max + 1) / 2;
let realSum = 0;
for(let i = 0; i < num.length; i++){
    realSum += num[i];
}
console.log(oriSum - realSum) 
全部评论

相关推荐

10-18 13:01
已编辑
西安理工大学 C++
小米内推大使:建议技能还是放上面吧,hr和技术面试官第一眼想看的应该是技能点和他们岗位是否匹配
点赞 评论 收藏
分享
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务