Divide Two Integers
来源:互联网 发布:软件 地图 编辑:程序博客网 时间:2024/05/12 21:11
不能用乘除取模做除法。
思路:现在只有加减,位运算可以使用。 主要是用减法来实现除法:统计被除数可以减多少次除数。利用2分思想降低时间复杂度。再稍作边界条件判断,代码如下:
public class Solution { public int div(long dividend, long divisor, long currentDivisor, long times){if(dividend < divisor) return 0;if(dividend >= currentDivisor){return (int)times + div(dividend-currentDivisor, divisor, currentDivisor<<1, times<<1);}else{return div(dividend, divisor, currentDivisor>>1, times>>1);}} public int divide(int dividend, int divisor) { // Start typing your Java solution below // DO NOT write main() function long a = dividend, b = divisor; if(b==0) return 0; int flag = 1; if(a < 0) { a = -a; flag = -flag;} if(b < 0) { b = -b; flag = -flag;} int re = div(a, b, b, 1); if(flag == -1) re = -re; return re; }}
- LeetCode: Divide Two Integers
- [LeetCode]Divide Two Integers
- LeetCode: Divide Two Integers
- [LeetCode] Divide Two Integers
- Divide Two Integers
- Divide Two Integers
- LeetCode28:Divide Two Integers
- [Leetcode] Divide Two Integers
- LeetCode Divide Two Integers
- Divide Two Integers
- 【leetcode】Divide Two Integers
- Divide Two Integers
- Divide Two Integers
- [LeetCode]Divide Two Integers
- Divide Two Integers
- LeetCode-Divide Two Integers
- Divide Two Integers
- 25 - Divide Two Integers
- 千万级并发实现的秘密:内核不是解决方案,而是问题所在!
- 线程的10中状态
- 在viewDidLoad里写tabbar
- Spring声明式事务配置管理方法
- Androidpn 消息推送总结
- Divide Two Integers
- 构建Android Push Notification Service服务端及客户端
- ABAP 获取登陆者的IP地址和主机名
- WPF:更好得理解对话框和ShowDialog方法
- 利用Oracle的UTL_SMTP包发邮件设置抄送
- IOS疯狂基础之GIF图片的显示
- Java程序优化的一些最佳实践
- jquery的each()详细介绍
- Eclipse快捷键大全