哇噻 位运算还可以这么玩呢~

今天主要想分享的是自己在面试过程中遇见的一道面试题,是一道简单的算法题。
在面试的过程中,我使用了 hash 表来解决的(时间复杂度和空间复杂度都是O(n)),但是面试官不满意,当时也实在没想到别的解法。
后来在慢慢的使用位运算的过程中,发现通过位运算,可以让时间复杂度为O(n),空间复杂度为O(1)的解法。那么先看下题目吧。
一、面试题目
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。【leetcode 136. 只出现一次的数字】
例子:输入: [4,1,2,1,2] 输出: 4
二、常规解法
看见这道题的第一个想到的就是 hash 表,看下面代码,思路很简单
class Solution {
public int singleNumber(int[] nums) {
Map

哇噻 位运算还可以这么玩呢~最先出现在Python成神之路

版权声明:
作者:倾城
链接:https://www.techfm.club/p/16126.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>