首页 > 其他 > 详细

找到 N 个数字中缺少的数字

时间:2020-07-09 10:04:55      阅读:51      评论:0      收藏:0      [点我收藏+]

题意如题 找到 1 ~ N N 个数字中缺少的一个数字

方法 1:求和

   算出 1 + 2 + ... + N 的和然后减去数组中 N - 1 个数字的和

int missNum(int N, int a[maxn]) {
    long long sum = 0;
    for(int i = 0; i < N - 1; i ++)
        sum += a[i];

    return (1 + N) * N / 2 - sum;
}

  这个方法的缺点是有可能会出现溢出 时间复杂度是 O(N) 

方法2:位运算

用与运算$ a ^ a = 0$ a ^ a ^ b = b

找到 N 个数字中缺少的数字

原文:https://www.cnblogs.com/zlrrrr/p/13271816.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!