一个数组中的元素所有的元素都出现三次,只有一个元素只出现了一次,找出这个元素

方法一:使用位操作

class Solution {
    public int singleNumber(int[] nums) {
        int key;
        int result=0;
        for(int i=0;i<32;i++){
            key=0;
            for(int j=0;j>i)&1;
            }
            result|=((key%3)<

注意
1.java中数组的长度是个属性,而不是一个方法
2.Java中的|=是连续或的意思。利用该方法可以将二进制进行拼接成一个完整的二进制数

方法二:使用map(字典),进行统计各个元素出现的次数

# #使用map
     if len(nums)<1:
            return nums[0]
        dic = dict()
        for i in nums:
            if i not in dic.keys():
                dic[i] = 1
            else:
                dic[i]+=1
        for i in dic:
            if dic[i] ==1:
                return i

你可能感兴趣的:(leetcode题解)