LeetCode每日打卡 - 汉明距离总和
生活随笔
收集整理的這篇文章主要介紹了
LeetCode每日打卡 - 汉明距离总和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有點慢,兩層循環也可以完成,就是換個方向,外層遍歷32大小的bits數組,里層遍歷nums的數字每次右移一位,計算方法類似。
class Solution {public int totalHammingDistance(int[] nums) {//int 是4byte , 每個byte對應8位(比特),所以一個int是32位int [] bits = new int[32];int res=0, len = nums.length;for (int j : nums) {int index = bits.length - 1;while(j != 0){if(j == 1){bits[index]++;break;}if(j % 2 == 1){bits[index]++;}j = j / 2;index--;}}for (int bit : bits) {res += (bit * (nums.length - bit));}return res;} }總結
以上是生活随笔為你收集整理的LeetCode每日打卡 - 汉明距离总和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8月地方债发行上万亿!如果用于投资,地方
- 下一篇: spring boot 对象拷贝工具(O