【LintCode-1】A + B 问题(Java实现)
2017-11-05 15:47
274 查看
第一次代码记录:
public int aplusb(int a, int b) { int carry=0; int sum =0; while(true){ sum=a^b;//异或,相同为0,不同为1 //1.且运算,当且仅当都为1时,为1,其余为0; // 2.左进1位,例如 0010,进位后,0100; carry=(a&b)<<1; if(carry==0){ break; }else{ a=sum; b=carry; } } return sum; }
第二次代码记录:
public int aplusb(int a, int b) { int sum=0; int carry=1; while(carry!=0){ sum=a^b; carry=(a&b)<<1; a=sum; b=carry; } return sum; }
个人解题思路:
因为传入的参数与返回的参数 均是整型,可以直接使用异或(^)与且(&)运算,这里只需要我们考虑进位(carry)情况即可。
如果您有更好的解法,欢迎您在留言区补充,感谢!!
相关文章推荐
- 【LintCode-457】经典二分查找问题(Java实现)
- LintCode 1 : A + B 问题 (java实现)
- [原创]java实现约瑟夫环问题
- Java 线程同步问题 生产者-消费者 算法实现 -Java学习笔记(29)
- java代码中实现字符编码转换(解决中文乱码问题)
- 用JAVA 实现“生产者-消费者”问题
- 13球称重问题Java实现
- 用JAVA 实现“生产者-消费者”问题
- 用贪心算法实现的背包问题(java语言)
- 动态规划解决矩阵链乘问题的java编码实现
- 最大连续邮资问题的JAVA实现
- 商人过河问题的Java实现1
- 商人过河问题的Java实现2
- 生产者消费者问题的Java实现
- 百钱买百鸡问题--java 实现
- 数组实现的约瑟夫问题(Java)
- 今天的问题:一个简单的例子,请帮我解开“接口实现Java‘隐藏实现细目’”的迷惑。
- AIX 程序设计大赛-AIX正方形问题算法及Java程序实现
- java实现 生产者和消费者问题 多线程同步示例
- 动态规划解决矩阵链乘问题的java编码实现