zoukankan      html  css  js  c++  java
  • lintcode-196-寻找缺失的数

    196-寻找缺失的数

    给出一个包含 0 .. N 中 N 个数的序列,找出0 .. N 中没有出现在序列中的那个数。

    样例

    N = 4 且序列为 [0, 1, 3] 时,缺失的数为2。

    挑战

    在数组上原地完成,使用O(1)的额外空间和O(N)的时间。

    标签

    贪心

    思路

    在 N 个数字中,寻找在 0 .... N 中没有出现的数,只需计算数组之和与 0 + 1 + 2 + ... + N 的差即可

    code

    class Solution {
    public:
        /**    
         * @param nums: a vector of integers
         * @return: an integer
         */
        int findMissing(vector<int> &nums) {
            // write your code here
            int size = nums.size();
            if (size <= 0) {
                return 0;
            }
            long sum1 = 0, sum2 = 0;
            for (int i = 0; i < size; i++) {
                sum1 += nums[i];
                sum2 += i;
            }
            sum2 += size;
            return sum2 - sum1;
        }
    };
    
  • 相关阅读:
    存储器
    存储器
    存储器
    计算机组成原理目录
    锁原理
    锁原理
    并发编程
    Java 算法
    Java 数据结构
    Java数据结构
  • 原文地址:https://www.cnblogs.com/libaoquan/p/7294907.html
Copyright © 2011-2022 走看看