原题连接Missing Number

给定大小为n的数组,由0, 1, 2, …, n构成,其中缺少了某个值,找到它。要求时间复杂度是O(n),空间复杂度是O(1)

虽然数组无序但是组成数组的元素整体有序而且每个元素是严格加一递增(只有一个不是,假设这个值是m),考虑下面两个和的表示形式

sum1 = 0 + 1 + 2 + ... + m-1 + m+1 + ... + n= 1 + 2 + ... + m-1 + m+1 + ... + n
sum2 = 1 + 2 + ... + m-1 + m + m+1 + ... + n= (n * (n + 1)) / 2

其中,sum1是数组的和(缺少了m值),sum2是1到n的和,那么sum1和sum2实际上就是差了数组缺少的元素m,也就是通过sum2 - sum1即可计算出m的值

代码实现如下

class Solution {
public:int missingNumber(vector<int>& nums) {return (nums.size() * (nums.size() + 1)) / 2 - accumulate(nums.begin(), nums.end(), 0);}
};

每天一道LeetCode-----找到由连续数字组成的数组中缺失的那个连续值相关推荐

  1. Leetcode 给定一个数组,给定一个数字。返回数组中可以相加得到指定数字的两个索引

    问题内容是:给定一个数组,给定一个数字.返回数组中可以相加得到指定数字的两个索引. 比如:给定nums = [2, 7, 11, 15], target = 9 那么要返回 [0, 1],因为2 + ...

  2. 【C语言】计算数字在升序数组中出现的次数的两种方法

    题目:数字在升序数组中出现的次数 描述:给定一个长度为 n 的非降序数组和一个非负数整数 k ,要求统计 k 在数组中出现的次数 要求:数据范围:0≤n≤1000,0≤k≤100,数组中每个元素的值满 ...

  3. 【剑指offer-Java版】38数字在排序数组中出现的次数

    数字在排序数组中出现的次数: 最简单粗暴的方法是O(n^2) 可能的解法可以采用二分,首先根据二分找到给定数字在数组中的位置,然后再左右二分,找到边界(第一个和最后一个),左右边界的差值就是出现次数 ...

  4. 【ShareCode】不错的技术文章 -- 如何使用异或(XOR)运算找到数组中缺失的数?...

    如何使用异或(XOR)运算找到数组中缺失的数? 今天给大家分享一篇关于使用XOR(异或)运算找到数组中缺失的数的问题. 在一次Javascript面试中,有这么一个问题: 假设有一个由0到99(包含9 ...

  5. 面试题整理11 数字在排序数组中出现的次数

    <剑指offer>面试题38: 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在此数组中出现了4次,因此输出4. 分析:看到排 ...

  6. 剑指Offer(Java版):数字在排序数组中出现的次数

    2019独角兽企业重金招聘Python工程师标准>>> 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组为 {1,2,3,3,,3,3,4,5}和数字3,由于3在这个数组中 ...

  7. 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数

    一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...

  8. 【剑指offer】数字在排序数组中出现的次数

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/27364557 题目描写叙述: 统计一个数字在排序数组中出现的次数. 输入: 每一个測试案例 ...

  9. 【编程题目】输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。...

    第 14 题(数组): 题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字. 要求时间复杂度是 O(n).如果有多对数字的和等于输入的数字,输出任意 ...

最新文章

  1. 找对象的过程中,我竟然理解了什么是机器学习!
  2. ko文件卸载 linux_Linux驱动06 | 为什么使用内核模块?
  3. html class 位置,HTML class 属性 | 菜鸟教程
  4. HTTP协议详解【转】
  5. spring报错NoClassDefFoundError等与第三方jar包导入问题
  6. Tomcat应用部署:打war包、在Tomcat中注册用户角色、创建虚拟目录和域名
  7. 面经(一)——5G和物联网的关系
  8. python 参数个数 同名函数_Python——函数的参数
  9. Python核心编程答案(自整理)
  10. 用友套打的打印机型号
  11. 单机 弱联网手游 防破解 金币修改 简单措施
  12. 设计院的故事--转自ABBS(自动铅笔)
  13. 魔兽争霸3 the oracle,疯狂SQL之魔兽争霸
  14. 闲鱼商品理解数据分析平台——龙宫
  15. Twilio Inc.(TWLO)2020年第三季度收益电话会议记录
  16. python opencv gpu加速_让Python下的OpenCV也能GPU加速!part.1
  17. 证件照分辨率350dpi怎么调?怎么调照片dpi?
  18. ncre计算机职业英语,NCRE计算机职业英语一级考试样卷
  19. JavaScript Window Screen
  20. 彻底删除MySQL57服务

热门文章

  1. 每日程序C语言5-斐波那契兔子数
  2. 小程序如何选择云服务器,小程序怎么选择云服务器配置
  3. 5.编写程序,由键盘任意输入10个整数,分别统计其中的奇数和偶数的个数。
  4. (入门SpringBoot)SpringBoot结合redis(四)
  5. Go websocket
  6. myEclipse开发内存溢出解决办法myEclipse调整jvm内存大小java.lang.OutOfMemoryError: PermGen space及其解决方法...
  7. 如何:修改 Office Open XML 文档【转载】
  8. sql注入_1-8_宽字节注入
  9. 隐藏画质代码_和平精英120帧率怎么设置?和平精英120帧率代码介绍!
  10. 【数据结构与算法】之深入解析“合并两个有序数组”的求解思路与算法示例