Leetcode—29. 两数相除【中等】

2023每日刷题(九十四)

Leetcode---29. 两数相除

叛逆期实现代码

cpp 复制代码
class Solution {
public:
    int divide(int dividend, int divisor) {
        if(dividend == INT_MIN && divisor == -1) {
            return INT_MAX;
        } 
        return dividend / divisor;
    }
};

运行结果

倍增算法实现代码

cpp 复制代码
class Solution {
public:
    int divide(int dividend, int divisor) {
        if(dividend == INT_MIN && divisor == -1) {
            return INT_MAX;
        } 
        if(dividend == INT_MIN && divisor == 1) {
            return INT_MIN;
        }
        long long res = 0;
        long long a = labs((long long)dividend);
        long long b = labs((long long)divisor);
        if(a < b) {
            return 0;
        }
        while(a - b >= 0) {
            long long x = 0;
            while(a - (b << 1 << x) >= 0) {
                x++;
            }
            res += 1 << x;
            a -= b << x;
        }
        if((dividend > 0) ^ (divisor > 0)) {
            res = -res;
        }
        
        return res > INT_MAX ? INT_MAX: res;
    }
};

运行结果

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
3Bronze1Pyramid5 分钟前
【RNAErnie 大模型】
人工智能·深度学习·算法
hanbr7 小时前
C++ 初涉
开发语言·c++
Дерек的学习记录7 小时前
C++:入门基础(下)
开发语言·数据结构·c++·学习·算法·visualstudio
字节跳动的猫7 小时前
2026四款 AI,多模态技术对比
经验分享
yugi9878387 小时前
无线传感器网络中GAF算法节点特性分析
网络·算法
1027lonikitave8 小时前
使用斐波那契数列讲解尾递归
算法
云深麋鹿8 小时前
标准库中的String类
开发语言·c++·容器
滴滴答滴答答9 小时前
LeetCode Hot100 之 16 合并两个有序链表
算法·leetcode·链表
ASKED_20199 小时前
企业级大模型微调(Fine-tuning)策略
大数据·人工智能·算法
圣保罗的大教堂9 小时前
leetcode 3713. 最长的平衡子串 I 中等
leetcode