Lc461_漢明距離

package com.example.demo.demo; /** * 461. 漢明距離 * 兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。 * <p> * 給出兩個整數 x 和 y,計算它們之間的漢明距離。 * <p> * 注意: * 0 ≤ x, y < 231. * <p> * 示例: * <p> * 輸入: x = 1, y = 4 * <p> * 輸出: 2 * <p> * 解釋: * 1 (0 0 0 1) * 4 (0 1 0 0) * ↑ ↑ * <p> * 上面的箭頭指出了對應二進制位不同的位置。 */ public class Lc461 { //漢明距離就是倆個二進制數字不同位數的個數 public static int hammingDistance(int x, int y) { int sum = x ^ y; String str = Integer.toBinaryString(sum); char[] c = str.toCharArray(); int count = 0; for (int i = 0; i < c.length; i++) { if (c[i] == '1') { count++; } } return count; } public static void main(String[] args) { int x = 1; int y = 4; System.out.println(hammingDistance(x, y)); } }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章