/*
* @lc app=leetcode.cn id=29 lang=javascript
*
* [29] 两数相除
*/
// @lc code=start
/**
* @param {number} dividend
* @param {number} divisor
* @return {number}
*/
var divide = function (dividend, divisor) {
if (divisor == 1) {
return dividend;
}
var mark = 1;
if (dividend * divisor < 0) {
mark = -1;
}
dividend = Math.abs(dividend);
divisor = Math.abs(divisor);
var sum = 0;
if (dividend >= divisor && dividend * divisor != 0) {
while (dividend >= divisor) {
//找出最小的除数
dividend = dividend - divisor; //变相的除法运算
sum++; //记录减了几次
}
if (sum < Math.pow(-2, 31) || sum > Math.pow(2, 31) - 1) {
return Math.pow(2, 31) - 1;
}
if (mark < 0) {
return -sum;
}
return sum;
} else {
return 0;
}
};
// @lc code=end
[29] 两数相除
最新推荐文章于 2024-05-30 11:27:58 发布