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;
    }
};

运行结果

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

相关推荐
啊董dong6 分钟前
noi-2026年5月12号小测验
数据结构·c++·算法
不知名的忻7 分钟前
红黑树(简易版)
算法·红黑树
NQBJT9 分钟前
万字拆解 NeckFix:AI 脖子前倾检测的算法原理与工程实现
人工智能·算法
jaychouchannel14 分钟前
Python 常用排序算法详解
算法
数智工坊16 分钟前
【Inner Monologue论文阅读】: 首次将大语言模型嵌入机器人控制闭环,实现自我反思和动态行为调整
论文阅读·人工智能·算法·语言模型·机器人·无人机
咩咦42 分钟前
C++学习笔记24:构造函数初始化列表
c++·学习笔记·类和对象·构造函数·初始化列表·const引用
为何创造硅基生物1 小时前
C 语言 typedef 结构体私有化
c语言·开发语言·算法
yzx9910131 小时前
递归算法入门:像俄罗斯套娃一样思考
人工智能·算法
计算机安禾1 小时前
【c++面向对象编程】第43篇:可变参数模板(C++11):优雅处理不定长参数
java·开发语言·c++
心中有国也有家1 小时前
从零上手 CANN 学习中心:像逛技术便利店一样学昇腾
学习·算法·开源