剑指 Offer II 001. 整数除法

本文介绍了两个JavaScript函数,count用于计算整数减法操作的次数,同时关注了边界条件和防止溢出;divide函数扩展了count功能,针对正负数和数值范围进行了复杂判断。重点在于处理数值溢出和不同情况下的正确计数策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述 ` function count (a,b)
{
let cnt =0;
let yu =a;
while(yu>=b)
{
yu =yu - b;
cnt++;

    }
    return cnt;

}
var divide = function(a, b) {
let cnt=0;
if(a>0 && b>0)
{
if(a>= Math.pow(2, 31) || b>= Math.pow(2, 31)) return Math.pow(2, 31)-1;
cnt= count(a,b);
}
else if(a>=0 && b<0)
{
if(a>= Math.pow(2, 31) || b< Math.pow(-2, 31)) return Math.pow(2, 31)-1;
cnt = -count(a,-b);

}
else if(a<=0 && b>0)
{
    if(a< Math.pow(-2, 31) || b>= Math.pow(2, 31)) return  Math.pow(2, 31)-1;
    if(a=== Math.pow(-2, 31) && b===1) return  Math.pow(-2, 31);
    cnt = -count(-a,b);

}
else 
{
    if(a< Math.pow(-2, 31) || b< Math.pow(-2, 31)) 
      return  Math.pow(2, 31)-1;       
     if(a=== Math.pow(-2, 31) && b===-1) return  Math.pow(2, 31)-1; 
     cnt =count(-a,-b);
  
}

return cnt;
};`

  • 需要注意的点:
  • 认真审题,注意边界问题
  • js里Math.pow(2, 31)是求幂
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值