【leetCode】461. Hamming Distance
来源:互联网 发布:淘宝店怎么登陆千牛 编辑:程序博客网 时间:2024/06/11 10:20
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
< 231.
Example:
Input: x = 1, y = 4Output: 2Explanation:1 (0 0 0 1)4 (0 1 0 0) ? ?The above arrows point to positions where the corresponding bits are different.汉明距离是指x、y的二进制表示中,相同位置上数字不相同的所有情况数。
var hammingDistance = function(x, y) { var arrX=[]; var arrY=[]; toArray(x,arrX); toArray(y,arrY); var count=0; var len=arrX.length>arrY.length?arrX.length:arrY.length; for(var i=0;i<len;i++){ if (arrX[i]!==1) { arrX[i]=0; } if (arrY[i]!==1) { arrY[i]=0; } } for(var i=0;i<len;i++){ if(arrX[i]!=arrY[i]){ count++; } } return count;};function toArray(x,arr){ var ret=x%2; arr.push(ret); var left=parseInt(x/2); if(left>1){ toArray(left,arr); }else{ arr.push(left); }}总体思路就是先转化成2进制,再把两个数组空位填0;最后比较
后来去查了一下大家的做法。。人家直接把两个数异或之后再转二进制,数有多少个1就好了,感觉智商被压制。。
顺便又想起来js有直接转2进制的实现。不需要自己写。就当复习一下二进制的转化好了。。
改良版代码:
var hammingDistance = function(x, y) { var a=x^y; var b=a.toString(2).split(""); var count=0; for(var i=b.length-1;i>=0;i--){ if(b[i]==1){count++} } return count;};
但是其实。。运行时间并没有减少。。不过代码简洁了很多~~
阅读全文
0 0
- LeetCode 461. Hamming Distance
- 【Leetcode】461. Hamming Distance
- LeetCode 461. Hamming Distance
- LeetCode - 461. Hamming Distance
- LeetCode-461. Hamming Distance
- 【LeetCode】 461. Hamming Distance
- Leetcode-461. Hamming Distance
- Leetcode 461. Hamming Distance
- LeetCode--461. Hamming Distance
- 461. Hamming Distance [LeetCode]
- [LeetCode]461. Hamming Distance
- leetcode 461. Hamming Distance
- Leetcode 461. Hamming Distance
- LeetCode 461. Hamming Distance
- 【LeetCode】461. Hamming Distance
- LeetCode-461. Hamming Distance
- LeetCode | 461. Hamming Distance
- [LeetCode]461.Hamming Distance
- bzoj 4942 整数 思考记录
- (卡特兰数变形m+n,找零)Buy the Ticket--HDOJ
- SE16N 修改日志查询
- 一些XML的相关语法
- 练习2-10 重新编写将大写字母转换为小写字母的函数lower,并用条件表达式替代其中的if-else结构。
- 【leetCode】461. Hamming Distance
- 第四章:Django 模型 —— 设计系统表
- JSP页面中使用JSTL标签出现无法解析问题解决办法
- 欢迎使用CSDN-markdown编辑器
- 网页图片转base64编码的性能分析
- Python pyinotify文件系统监控
- tensorflow tupe
- C语言随机数
- hdu 2852 KiKi's K-Number(树状数组)