lintcode----将整数A转换为B
来源:互联网 发布:人肉 知乎 编辑:程序博客网 时间:2024/06/04 17:43
原始思路:将a和b转换为对应的二进制数,位数不同,用0补齐,然后对应位比较,最终只能解决两个是正数的情况代码如下:
int bitSwapRequired(int a, int b) {// write your code herestring ta;string tb;int res=0;while(a){int tema=a%2;ta+=to_string(long double (tema));a/=2;}while(b){int temb=b%2;tb+=to_string(long double (temb));b/=2;}if(ta.length()>tb.length()){int num=ta.length()-tb.length();for(int i=0;i<num;i++){tb=tb+'0';}}else if(ta.length()<tb.length()){int x=tb.length()-ta.length();for(int i=0;i<x;i++){ta=ta+'0';}}for(int j=0;j<tb.length();j++){if(ta[j]!=tb[j])res++;}return res;}
正确&简单思路:a,b的每一位与每个2次幂位相与,之后再做异或即可判断出,该位是否一样,代码如下:
int bitSwapRequired(int a, int b) { // write your code here int count=0; int flag=1; int i=0,j=0; while(flag) { i=a&flag; j=b&flag; if(i^j) count++; flag=flag<<1; } return count; }
0 0
- Lintcode 将整数A转换为B
- LintCode 将整数A转换为B
- lintcode----将整数A转换为B
- LintCode:将整数A转换为B
- LintCode : 将整数A转换为B
- lintcode:将整数A转换为B
- 将整数A转换为B-LintCode
- lintcode:将整数A转换为B
- LintCode Flip Bits 将整数A转换为B
- LintCode解题笔记 - 将整数A转换为B
- lintcode-将整数A转换为B-181
- lintcode | 将整数A转换为B, Flip Bits
- 将整数A转换为整数B
- 题目:将整数A转换为B
- 将整数A转换为B
- 将整数A转换为B
- 将整数A转换为B
- 将整数A转换为B
- Java中锁机制Synchronized方法说明 转自https://zm12.sm-tc.cn/?src=l4uLj8XQ0IiIiNGOjo2anpvRnJCS0JWeiZ7Qzc%2FOz9DP
- 改进的经度坐标校正鱼眼图像算法_code
- Android相机实时自动对焦的完美实现
- Hive 临时表
- 《java入门第一季》正则表达式小案例
- lintcode----将整数A转换为B
- Oracle vm下安装多个linux网络相互之间不能ping通
- 在安卓中使用DragViewHelper
- 手机开发实战6——GSM区域定义
- js弹窗返回值详解(window.open方式)
- Android官方开发文档Training系列课程中文版:高效显示位图之管理位图内存
- 正确使用Qt多线程
- 运行线程
- 【CodeForces】[66B]Petya and Countryside