461. Hamming Distance
/** * 461. Hamming Distance * https://leetcode.com/problems/hamming-distance/description/ * The Hamming distance between two integers is the number of positions at which the corresponding bits are * different. Given two integers x and y, calculate the Hamming distance. Note: 0 ≤ x, y < 2的31次方. Example: Input: x = 1, y = 4 Output: 2 Explanation: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ The above arrows point to positions where the corresponding bits are different. * * 我们先了解下位运算,包括: * & (与) : 1和1为1,其余为0; * | (或) : 有1为1,零零为0; * ^ (异或): 相同的为0,不同的为1; * ~ (取反): 按位取反; * >> (右移): 右移n位等于除于2的n次方; * << (左移): 左移n位等于乘于2的n次方; * * */ class Solution { fun hammingDistance(x: Int, y: Int): Int { val exc = x xor y //calculate the number of 1 return exc.toString(2).count { it == '1' } } }
class Solution2 { fun hammingDistance(x_: Int, y_: Int): Int { var result = 0 var x = x_ var y = y_ while (x > 0 || y > 0) { result += (x xor y) and 1 x = x shr 1 //除于2 y = y shr 1 } return result } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)