Leetcode之Missing Number 问题
来源:互联网 发布:ubuntu源无法更新 编辑:程序博客网 时间:2024/06/04 19:03
问题描述:
Given an array containing n distinct numbers taken from0, 1, 2, ..., n
, find the one that is missing from the array.
Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
示例:
For example,
Given nums = [0, 1, 3]
return 2
.
问题来源:Missing Number (详细地址:https://leetcode.com/problems/missing-number/description/)
思路分析:这道题的解法实在太多了,在这介绍三种方法:
解法一:从0~n的整数的和应该是s=(n+1)*n/2,然后我们遍历整个数组求出它们的和sum,最后s-sum不就是最后的结果了吗?
解法二:其实和解法一的意思是一样的,在这我们采用索引减去对应的元素,累加起来就得到我们丢失的数字了,即sum += i - nums[i];
解法三:这种接法还是很有意思的,我们不采用求和,在这采用的是位运算(异或操作),因为a^b^b=a,你会发现对同一个元素两次异或之后居然得到原数了。那我们就把索引和数组中的元素都异或上,最后剩下的肯定是一个索引一个元素,最后的结果我们再来异或一次,把索引异或掉就得到元素值了啊。
代码:
阅读全文
0 0
- Leetcode之Missing Number问题
- Leetcode之Missing Number 问题
- LeetCode之Missing Number
- leetcode之Missing Number
- leetcode之Missing Number
- LeetCode 之 Missing Number
- 【Leetcode】:268. Missing Number 问题 in JAVA
- LeetCode之路:268. Missing Number
- 【LeetCode】268 Missing Number
- [leetcode] 268.Missing Number
- [leetcode][math] Missing Number
- [LeetCode] Missing Number
- Leetcode -- Missing Number
- 【leetCode】Missing Number
- [Leetcode]Missing Number
- leetcode Missing Number
- 【leetcode】268. Missing Number
- [leetcode] Missing Number
- js中for in循环对象时的取值处理
- 连续数值属性的CART decision tree
- spring+websocket整合(springMVC+spring+MyBatis即SSM框架和websocket技术的整合)
- Spring Boot整合Quartz实现定时任务表配置
- centos增加yum源方法
- Leetcode之Missing Number 问题
- 数据结构--线性链式表倒数第K项
- dubbo 配置文件详解
- 解决window 热键(快捷键)占用问题
- 线程池编程示例
- iOS之Xcode 9 快捷键查看类或方法声明定义
- Java设计模式_(结构型)_组合模式
- Android greendao将数据库存在SD卡
- Java 自带四种线程池的使用