91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

leetcode 137 && 360一面算法 &&有道一面

發布時間:2020-04-21 01:07:46 來源:網絡 閱讀:684 作者:努力的C 欄目:建站服務器

題目描述:給一個數組,有一個數出現了兩次或者1次,而其他數都出現了三次,找出這個數。其實對應了leetcode 137。


網上的解法多是位運算

public int singleNumber(int[] nums) {    
int ans = 0;   
 for(int i = 0; i < 32; i++) {      
  int sum = 0;        
  for(int j = 0; j < nums.length; j++) {         
    if(((nums[j] >> i) & 1) == 1) {
                sum++;
                sum %= 3;
            }
        }      
          if(sum == 1) {
            ans |= sum << i;
        }        
        if(sum == 2) {
            ans |= sum/2 << i
        }
    }    return ans;
}

利用位運算,求每位1出現的次數,出現3次的最后加起來%3==0. !=0的要么是1次,要么是2次。分情況討論就行。最后的| 或運算,很強哦。。。




有道給的是一個數出現了一次,其他數都出現了三次,找出這一個數,對應LeetCode137題!位運算

class Solution {
    public int singleNumber(int[] nums) {
       int length = nums.length;  
        int result = 0;  
        for(int i = 0; i<32; i++){  
            //int count = 0;   
            int temp = 0;  
            for(int j=0; j<length; j++){  
                temp+=(nums[j]>>i & 1);
                    //count++;  
            }  
          //if(count %3==1)  
                result |= (temp%3)<<i;  
        }  
        return result; 
    }
}

當時寫的時候出現了一點小小的問題,就是最后 | 的時候,忘記左移回來了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新化县| 阳东县| 新密市| 读书| 义马市| 南漳县| 洪泽县| 长武县| 博客| 石棉县| 栾川县| 海淀区| 岚皋县| 社旗县| 太保市| 甘洛县| 太仆寺旗| 泸定县| 行唐县| 兴国县| 桑日县| 麦盖提县| 桐柏县| 北流市| 边坝县| 铜鼓县| 五常市| 西乌珠穆沁旗| 望城县| 德令哈市| 无极县| 双桥区| 南岸区| 丰顺县| 诏安县| 巴林左旗| 视频| 雅安市| 石泉县| 温州市| 抚宁县|