ClickHouse image pdf grails vue数据绑定 jquery去空格 linux超级用户 python转16进制 python数据类型 python做界面 python网页编程 java实用教程 java程序 java遍历 java的输入 linux命令行大全 马赛克软件 dota改键工具 hyqihei 三星打印机怎么加墨 财务报表软件免费版 联发科p22 怎么用打印机扫描文件 keil5注册机下载 cad怎么拉伸图形 大家来goldwave使用教程 玛拉顿 千千静听老版本下载 血岩碎片有什么用 css文件 小米兰亭 脚本制作教程 pygame教程 聚生网管远程管理工具 cad怎么成组 竹林怎么画 ipad怎么锁屏 操作系统原理 log4net 小米恢复出厂设置
当前位置: 首页 > 学习教程  > 编程语言

LeetCode刷题记49-29. 两数相除

2020/11/24 11:01:20 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

LeetCode刷题记49 29. 两数相除 题目 class Solution {public int divide(int dividend, int divisor) {if (divisor Integer.MIN_VALUE) {if(dividend Integer.MIN_VALUE) return 1;return 0;} int ans 0;if (dividend Integer.MIN_VALUE) {if (divisor -1) return I…

LeetCode刷题记49

29. 两数相除

题目
在这里插入图片描述

class Solution {
    public int divide(int dividend, int divisor) {
        if (divisor == Integer.MIN_VALUE) {
            if(dividend == Integer.MIN_VALUE) return 1;
            return 0;
        } 
        int ans = 0;
        if (dividend == Integer.MIN_VALUE) {
            if (divisor == -1) return Integer.MAX_VALUE;
            if (divisor == 1) return Integer.MIN_VALUE;
            ans ++;
            dividend += Math.abs(divisor);
        }
        int MAX_TMP = 1073741824;
        int flag = 1;
        if (dividend < 0 && divisor > 0 || dividend > 0 && divisor < 0) {
            flag = -1;
        }
        int[] divisors = new int[32];
        int[] nums = new int[32];
        int cnt = 1;
        divisor =  Math.abs(divisor);
        dividend = Math.abs(dividend);
        divisors[0] = divisor;
        nums[0] = 1;
        for (int i = 1; i < 32; i ++) {
            if (divisors[i - 1] >= MAX_TMP) break;
            divisors[i] = divisors[i - 1] + divisors[i - 1];
            nums[i] = nums[i - 1] + nums[i - 1];
            cnt ++;
        }
        int i = cnt - 1;
        while (dividend >= 0 && i >= 0) {
            while (dividend >= divisors[i]) {
                dividend -= divisors[i];
                ans += nums[i];
            }
            i--;
        }
        if (flag == -1) ans = -ans;
        return ans;
    }
}

1/5
49/150


本文链接: http://www.dtmao.cc/news_show_400406.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?