LeetCode每日打卡 - 汉明距离
生活随笔
收集整理的這篇文章主要介紹了
LeetCode每日打卡 - 汉明距离
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
位異或運算(^)
運算規(guī)則是:兩個數(shù)轉(zhuǎn)為二進制,然后從高位開始比較,如果相同則為0,不相同則為1。
比如:8^11.
8轉(zhuǎn)為二進制是1000,11轉(zhuǎn)為二進制是1011.從高位開始比較得到的是:0011.然后二進制轉(zhuǎn)為十進制,就是Integer.parseInt(“0011”,2)=3;
就是二進制下相同位的數(shù)不同就+1
我就按照最簡單的邏輯寫了,沒優(yōu)化
class Solution {public int hammingDistance(int x, int y) {int num = x ^ y;int res = 0;int remainder = 0;while(num != 0){if(num == 1){res++;break;}remainder = num % 2;num = num / 2;if(remainder == 1) res++;}return res;} } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的LeetCode每日打卡 - 汉明距离的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中石油股价跌跌不休的原因已找到,今年油价
- 下一篇: 信用卡怎么免年费 信用卡最新免年费方法