LCR 001. 两数相除

文章目录

题意

题目链接

思路

注意边界判断

代码

C++ 复制代码
class Solution {
public:
    int divide(int a, int b) {
        if (a == INT_MIN && b == -1)
            return INT_MAX;
        int flag = false;
        if (a >= 0 && b >= 0 ||
            a <= 0 && b <= 0)
            flag = true;
        int ans = 0;
        a = -abs(a);
        b = abs(b);
        if (b == 1)
            return flag ? -a : a;
        if (abs(a) == abs(b))
            return flag ? 1 : -1;
        while (a + b <= 0)
        {
            int i = 0;
            while (a + (b << i) < 0 && INT_MAX - (b << i) > (b << i))
                i++;
            if (i)
                i--;
            a += (b << i);
            ans += 1 << i;
        }
        return flag ? ans : -ans;
    }
};
相关推荐
我星期八休息14 小时前
MySQL数据可视化实战指南
数据库·人工智能·mysql·算法·信息可视化
程序员-King.14 小时前
day144—递归—平衡二叉树(LeetCode-110)
算法·leetcode·二叉树·递归
老鼠只爱大米14 小时前
LeetCode经典算法面试题 #739:每日温度(单调栈、动态规划等多种实现方案详解)
算法·leetcode·面试·动态规划·单调栈·每日温度
老鼠只爱大米14 小时前
LeetCode经典算法面试题 #394:字符串解码(递归、双栈、迭代构建等五种实现方案详解)
算法·leetcode·面试·递归··字符串解码
独自破碎E14 小时前
【回溯+剪枝】字符串的排列
算法·机器学习·剪枝
Smart-佀14 小时前
FPGA入门:CAN总线原理与Verilog代码详解
单片机·嵌入式硬件·物联网·算法·fpga开发
漫随流水15 小时前
leetcode算法(513.找树左下角的值)
数据结构·算法·leetcode·二叉树
翔云12345615 小时前
2025年度总结
程序人生·职场和发展
tod11315 小时前
从零手写一个面试级 C++ vector:内存模型、拷贝语义与扩容策略全解析
c++·面试·职场和发展·stl·vector
囊中之锥.15 小时前
机器学习算法详解:DBSCAN 聚类原理、实现流程与优缺点分析
算法·机器学习·聚类