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

运行结果

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

相关推荐
小王C语言1 小时前
【线程概念与控制】:线程封装
jvm·c++·算法
圣保罗的大教堂1 小时前
leetcode 796. 旋转字符串 简单
leetcode
学习,学习,在学习1 小时前
Qt工控仪器程序框架设计详解(工控多仪器控制版本)
开发语言·c++·qt
kyle~1 小时前
工程数学---点云配准卡布施(Kabsch)算法(求解最优旋转矩阵)
线性代数·算法·矩阵
张二娃同学1 小时前
03_变量常量与输入输出_printf与scanf详解
算法
Tutankaaa1 小时前
2025年网络安全知识竞赛题库更新解析与备考指南
经验分享
信竞星球_少儿编程题库2 小时前
2026年全国信息素养大赛算法应用主题赛 丝路新城 C++ 模拟卷(三)
开发语言·c++
Zhang~Ling2 小时前
深入解析C++list:从0到1实现一个完整的链表类
c++·链表·list
江南十四行2 小时前
并发编程(一)
java·jvm·算法
浩浩测试一下2 小时前
汇编 位运算 (逆向分析)
汇编·逆向·位运算·asm·windows编程·二进制逆向