查看“缺失数字”的源代码
←
缺失数字
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
== 描述 == === leetcode === https://leetcode-cn.com/problems/missing-number/description/ === 问题 === <pre> 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 示例 1: 输入: [3,0,1] 输出: 2 示例 2: 输入: [9,6,4,2,3,5,7,0,1] 输出: 8 </pre> == 异或操作 == === 异或特性 === <source lang="shell" line start="1" highlight="3-4"> java 中 操作符: ^ a XOR a = 0 # 两个相同的数异或运算,结果为0 b XOR b XOR a = a # 3个数,其中两个相同的数做异或运算, 结果为那个不同的数 </source> === code === <source lang="java"> class Solution { /** * 有2种情况 * 1. 缺失的恰好是最后一个数 * for遍历后res为0, res异或i得到结果(此时i为数组最后一位index + 1, 也就是缺失的值,0 异或 i = i, i就是我们想要的值) * * 2. 缺失的不是最后一个数 * */ public int missingNumber(int[] nums) { int res = 0, i; for (i = 0; i < nums.length; i++) { res = res ^ i ^ nums[i]; } return res ^ i; } } </source> [[category: 算法]] [[category: leetcode]] [[category: 数学]]
返回至
缺失数字
。
导航菜单
个人工具
创建账户
登录
命名空间
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息