[leetcode] 268. Missing Number 解题报告
来源:互联网 发布:韩国电视直播软件apk 编辑:程序博客网 时间:2024/06/07 18:33
题目链接:https://leetcode.com/problems/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?
思路:用一个前n项和公式减去数组的和即可得出答案
代码如下:
class Solution {public: int missingNumber(vector<int>& nums) { int len = nums.size(), sum = len*(len+1)/2; for(auto val: nums) sum -= val; return sum; } };
另外还有一种位运算的方法,利用异或操作,全部异或完数字0-n和nums[0, len-1]之后剩余的数字就是我们要求的结果。也是一个很漂亮的解法
代码如下:
class Solution {public: int missingNumber(vector<int>& nums) { int result = 0, len = nums.size(); for(int i = 0; i< len; i++) result ^= (i ^ nums[i]); return result ^ len; }};
第二种方法参考:http://www.neozone.me/leetcode268.html
0 0
- [leetcode] 268. Missing Number 解题报告
- LeetCode 268. Missing Number 解题报告
- leetcode 268. Missing Number 解题报告
- Leetcode解题报告:268. Missing Number
- LeetCode 268. Missing Number 解题报告
- 【LeetCode】268.Missing Number解题报告
- [Leetcode] 268. Missing Number 解题报告
- LeetCode-Missing Number-解题报告
- 【LeetCode】Missing Number 解题报告
- Missing Number解题报告
- [LeetCode]Palindrome Number,解题报告
- LeetCode 解题报告 Single Number
- 【LeetCode】Largest Number 解题报告
- 【LeetCode】Largest Number 解题报告
- 【LeetCode】Largest Number 解题报告
- [LeetCode]Largest Number, 解题报告
- 【LeetCode】Valid Number 解题报告
- LeetCode-Largest Number-解题报告
- s3c2440看门狗定时器作为普通定时器应用的补充说明
- LAMP环境下配置虚拟主机和域名的跳转
- C++基本函数使用随机笔记
- 用C语言求组合数
- 在C#中,有6个关系运算符,用于比较两个事物之间的关系
- [leetcode] 268. Missing Number 解题报告
- Android对应版本号
- 西洋史摘抄之 主要历史时期
- 提取DELL的SWM工厂镜像安装到虚拟机
- JavaScript进阶(一)抽离公共函数
- 子程序
- LeetCode题目汇总
- 单片机笔记之按键
- 英文版ubuntu安装中文输入法