博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Missing Number
阅读量:6800 次
发布时间:2019-06-26

本文共 1057 字,大约阅读时间需要 3 分钟。

There are three methods to solve this problem: bit manipulation, rearrangement of the array, and math tricks.


Bit Manipulation

1 class Solution {2 public:3     int missingNumber(vector
& nums) {4 int ans = nums.size(), i = 0;5 for (int num : nums)6 ans ^= (num ^ (i++));7 return ans;8 }9 };

Rearrangement

1 class Solution { 2 public: 3     int missingNumber(vector
& nums) { 4 int n = nums.size(), r = n; 5 for (int i = 0; i < n; i++) { 6 while (nums[i] != i) { 7 if (nums[i] == n) { 8 r = i; 9 break;10 }11 swap(nums[i], nums[nums[i]]);12 }13 }14 return r;15 }16 };

Math

1 class Solution {2 public:3     int missingNumber(vector
& nums) {4 int n = nums.size(), ans = n * (n + 1) / 2;5 for (int num : nums) ans -= num;6 return ans;7 }8 };

 

转载于:https://www.cnblogs.com/jcliBlogger/p/4754312.html

你可能感兴趣的文章
IBM X3650 M3服务器上RAID配置实战
查看>>
Objective-C中的@class,SEL和IMP等灵活机制
查看>>
2030中国足球称霸世界
查看>>
工信部:《关于加强电信和互联网行业网络安全工作的指导意见》
查看>>
网民“娱乐至上” 引领视频网站娱乐化趋势
查看>>
【老孙随笔】技术人如何发财致富?
查看>>
开源可实现迁移
查看>>
融合式架构Nutanix深入分析一
查看>>
RHEL6.3下配置简单Apache https
查看>>
利用Cocos2dx-3.0新物理特性模拟弹珠迷宫
查看>>
Office 365系列之三:Office365初体验
查看>>
VMware View client for iPad在医疗行业的应用
查看>>
Altiris 7.1 Agent
查看>>
独家爆料:创宇云与小鸟云的故事
查看>>
Windows Server 2012 RMS for Exchange Server 2013
查看>>
SUSE LINUX 10 NOVELL-ZMD错误解析
查看>>
Linux网络IP配置
查看>>
人工智能:智慧型手机的未来
查看>>
在EF中构建业务层小记
查看>>
PowerShell 学习笔记——使用帮助系统
查看>>