题目
使用位运算模拟除法。
思路很简单。首先可以想到拿被除数减去除数,直到不能减为止。
但是这是很low的,我们可以用倍增的思想,任何数字都可以由2x+2y+2^z......组成的。
所以我们用被除数减去 除数*2^x ,那么商就+= 2^x ,然后减去得到差,继续再减 除数的2^x
wx634e39bb59725 ©著作权
题目
使用位运算模拟除法。
思路很简单。首先可以想到拿被除数减去除数,直到不能减为止。
但是这是很low的,我们可以用倍增的思想,任何数字都可以由2x+2y+2^z......组成的。
所以我们用被除数减去 除数*2^x ,那么商就+= 2^x ,然后减去得到差,继续再减 除数的2^x
GitHub two-factor authentication开启教程
【LeetCode】39. 组合总和
参考的题解class Solution:
Best method(跟discuss vote最高相似):只有一种情况整数除以整数会overflow,那就是Integer.MIN_VALUE除以-1,这种情况特殊分析。 之所以要用long a, b代替dividend和divisor是因为:比如Integer.MAX_VALUE除以1,第21
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M