LeetCode 268. Missing Number
来源:互联网 发布:农村金融网点数据 编辑:程序博客网 时间:2024/05/17 20:34
题目:
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,1,2,…,n,删掉了一个数字,找出删掉的数。
先将数组排个序,如果最后一个数比size大1,那么删掉的是最后一个数;如果第一个数是1,那么删掉的数是0;否则就利用size求原来数组的和(size*(size+1)/2),减去删掉数后的总和,就是删掉的数。
代码:
class Solution {public: int missingNumber(vector<int>& nums) { sort(nums.begin(),nums.end());//先将数组排个序 size_t size=nums.size(); if(nums[size-1]==size-1){//果最后一个数比size大1,那么删掉的是最后一个数 return size; } else if(nums[0]==1){//如果第一个数是1,那么删掉的数是0 return 0; } else{ int oldsum=size*(size+1)/2;//利用size求原来数组的和(size*(size+1)/2) int newsum=0; for(int i=0;i<size;++i){//删掉数后的总和 newsum+=nums[i]; } return oldsum-newsum;//两个一减就是删掉的数 } }};
0 0
- [leetcode] 268.Missing Number
- 【leetcode】268. Missing Number
- [leetcode] 268. Missing Number
- Leetcode 268. Missing Number
- 268. Missing Number LeetCode
- 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 268. Missing Number
- [Leetcode] 268. Missing Number
- 【leetcode】268. Missing Number
- leetcode 268. Missing Number
- 【leetcode】268. Missing Number
- leetcode- 268. Missing Number
- 蓝桥杯 剪格子(dfs)
- sprintf的用法
- java web 导出csv文件——文件内容追加
- ETL利器Kettle实战应用解析系列一【Kettle使用介绍】
- 点一下可怜可怜我吧!
- LeetCode 268. Missing Number
- python 进程间通信
- Mysql遇到的一大坑~~记住 备份备份!!再备份
- 减小APK的大小
- 主从备份keepalived
- redis3.2.8 php-redis extension
- javax.mail.MessagingException: A3 NO SELECT Unsafe Login. Please contact kefu@188.com for help
- ABC-CNN: An Attention Based Convolutional Neural Network for Visual Question Answering
- icepdf中使用BufferedImage时内存溢出的解决方法