博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode- Single Number
阅读量:6601 次
发布时间:2019-06-24

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

hot3.png

Given an array of integers, every element appears twice except for one. Find that single one.

Note:

Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

 

起初看到题目,不知道怎么做,看了提示说用位运算,马上就有思路了

class Solution {public:	int singleNumber(vector
& nums) { int ret = 0; for (int i = 0; i < nums.size(); i++) { ret = ret ^ nums[i]; } return ret; }};int main(int argc, char *argv[]){ Solution s; vector
v = { 1, 2, 2, 3,1 }; cout << s.singleNumber(v); system("pause"); return 0;}

同样的原理(^异或运算的性质(满足交换律 结合律))可完成ab的交换而不利用临时变量,许多hash 函数也利用了该性质 

a=a^b;b=a^b;a=a^b;

 

转载于:https://my.oschina.net/kkkkkkkkkkkkk/blog/726206

你可能感兴趣的文章
R语言实战(八)广义线性模型
查看>>
系統用戶管理
查看>>
CCIE/CCDE笔试考试政策
查看>>
11.22红帽OpenStack技术研讨会诚邀您免费参加
查看>>
flutter练手DEMO - 网易云音乐(未完成)
查看>>
OC_GCD的基本使用
查看>>
Python知识点总结篇(一)
查看>>
沈阳一饭店凌晨爆燃,燃气报警器时刻预防
查看>>
Redis 与 数据库处理数据的两种模式
查看>>
python 实现 loadrunner xml脚本格式化
查看>>
项目总结13:Jav文件压缩-InputStream转化为base64-Base64解码并生成图片
查看>>
画图工具之优化篇
查看>>
关于理想团队的构建和对软件流程的理解
查看>>
js日期
查看>>
[Linux命令]zip
查看>>
day3 python简介 IDE选择
查看>>
VUE2中axios的使用方法
查看>>
assert 断言
查看>>
CS 229 notes Supervised Learning
查看>>
jQuery,ajax,for循环使用典型案例
查看>>