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)); } }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章