zoukankan      html  css  js  c++  java
  • 268. Missing Number

    Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array.

    For example,
    Given nums = [0, 1, 3] return 2.

    Note:
    Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?

    Credits:

    一串连续的数,找到缺的那个

    C++(22ms):

     1 class Solution {
     2 public:
     3     int missingNumber(vector<int>& nums) {
     4         int len = nums.size() ;
     5         int sum = (0+len)*(len+1)/2 ;
     6         for(int i = 0 ; i < len ; i++){
     7             sum -= nums[i] ;
     8         }
     9         return sum ;
    10     }
    11 };

    C++(26ms):

     1 class Solution {
     2 public:
     3     int missingNumber(vector<int>& nums) {
     4         int len = nums.size() ;
     5         int res = len ;
     6         for (int i = 0 ; i < len ; i++){
     7             res ^= i ^ nums[i] ;
     8         }
     9         return res ;
    10     }
    11 };
  • 相关阅读:
    【贪心】时空定位I
    【贪心】删数问题
    【贪心】取火柴游戏
    【贪心】均分纸牌
    Fix a Tree
    Vacations
    One Bomb
    Abandoned country
    BZOJ 1006 [HNOI2008]神奇的国度
    BZOJ 2118 墨墨的等式
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/7594991.html
Copyright © 2011-2022 走看看