[LeetCode]268 消失的数字
来源:互联网 发布:人气网络3d游戏排行榜 编辑:程序博客网 时间:2024/06/05 03:03
Missing Number(消失的数字)
【难度:Medium】
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?
给定一包含从0~n缺了一个数字的数组,使用线性的时间复杂度找到缺少的那个数字。
解题思路
本题利用数学知识来解答,这里介绍两种方法:
- 1)求出从0~n的累加和,减去数组整体的和,那么由于数组内每个数字不相同,其差就是缺少的那个数字;
- 2)利用异或运算,将数组全体内容与0~n进行异或,根据异或运算的性质可知最后结果为缺少的那个数字。
c++代码如下:
class Solution {public: int missingNumber(vector<int>& nums) { if (nums.empty()) return 0; int n = nums.size(); int sum = n*(n+1)/2; int real_sum = 0; for(int i = 0; i < n; i++) { real_sum += nums[i]; } return sum - real_sum; }};
class Solution {public: int missingNumber(vector<int>& nums) { int res = 0; for (int i = 1; i <= nums.size(); i++) { res ^= i ^ nums[i-1]; } return res; }};
0 0
- [LeetCode]268 消失的数字
- 消失的数字分析
- 消失的数字
- 消失的K个数字
- [Leetcode,python] Find All Numbers Disappeared in an Array 寻找数组中消失的数字
- [LeetCode]448. Find All Numbers Disappeared in an Array(查找数组中消失的所有数字)
- NOIP 模拟题 消失的数字
- leetcode Missing Number 消失的数
- AOJ 559 消失的数字 不知道为什么会超时。。
- HTML代码导出EXCEL数字前面的0消失解决办法
- [LeetCode]136 单一的数字
- leetcode-65-有效的数字
- [LeetCode-268] Missing Number(找缺失的数字)
- LeetCode 268 Missing Number(丢失的数字)
- leetcode----数字
- 单击 numberfield后,如失去焦点后非数字部分消失问题的解决办法
- A and B and Compilation Errors——找出消失的数字
- PHP使用数字作为SESSION的Key一刷新页面,Session就消失了
- 珍惜灵魂
- 自制操作系统学习心得(二)
- 格式化日期和时间
- 执行一个函数的3个非主流方法:
- iOS 文件下载
- [LeetCode]268 消失的数字
- 蓝桥杯 历届试题 扑克序列
- 消息摘要算法的编程使用
- java自动内存管理的偏爱
- 【论文学习笔记】Face Recognition with Learning-based Descriptor
- 分治算法-最大子数组问题
- 【WebService】第四章、Axis1.4发布WebService
- 欢迎使用CSDN-markdown编辑器
- css3 calc()自适应布局属性