找出一个数组中只出现一次的数字


这是今天在leetcode上看到的一道题,题目是:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次,找出那个只出现了一次的元素。

每次做题时,我第一想到的都是暴力解决方法,即用循环或者判断方法。这道题虽然属于简单类型,依旧想不粗有什么可以在尽肯能少的时间内运行完成。

在用了循环后,果然时间效率及其低。

最后,在问答评论区,找到了大神的解决思路,即按位异或的思想。短短三行代码,就完成了!

public class Solution {
public static int singleNumber(int[] nums) {
int result = 0;
for(int i = 0 ; i < nums.length ; i++ ){
result ^= nums[i];
}
return result;
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM