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;
    }
};
相关推荐
夏乌_Wx1 分钟前
练题100天——DAY25:升序合并文件+相交链表+多数元素
数据结构·算法·哈希算法
南_山无梅落3 分钟前
8.Python3字典(dict):键值的增删改查_入门到进阶
python·算法
柒.梧.7 分钟前
数据结构:二叉排序树,平衡二叉树,红黑树的介绍
数据结构·算法
Xの哲學10 分钟前
Linux ALSA音频架构: 从内核驱动到应用开发的全面解析
linux·服务器·算法·架构·边缘计算
是毛毛吧11 分钟前
数据结构与算法11种排序算法全面对比分析
数据结构·算法
郝学胜-神的一滴11 分钟前
Separate Buffer、InterleavedBuffer 策略与 OpenGL VAO 深度解析
开发语言·c++·程序人生·算法·游戏程序·图形渲染
长安er12 分钟前
LeetCode 102/103/513 二叉树层序遍历(BFS)三类经典题解题总结
数据结构·算法·leetcode·二叉树·bfs·层序遍历
java修仙传14 分钟前
力扣hot100:搜索插入位置
算法·leetcode·职场和发展
wregjru17 分钟前
【C++进阶】1.C++ 模板进阶
数据结构·算法
源代码•宸8 小时前
分布式缓存-GO(分布式算法之一致性哈希、缓存对外服务化)
开发语言·经验分享·分布式·后端·算法·缓存·golang