29. 两数相除

给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。

返回被除数 dividend 除以除数 divisor 得到的商。

示例 1:

输入: dividend = 10, divisor = 3
输出: 3
示例 2:

输入: dividend = 7, divisor = -3
输出: -2
说明:

被除数和除数均为 32 位有符号整数。
除数不为 0。
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。本题中,如果除法结果溢出,则返回 231 − 1。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/divide-two-integers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

PS:使用对数

class Solution {public int divide(int dividend, int divisor) {if (divisor == 1) {return dividend;}double dividendDou = (double) dividend;double divisorDou = (double) divisor;double logAns = Math.log(Math.abs(dividendDou)) - Math.log(Math.abs(divisorDou));double answer = Math.exp(logAns);if ((dividend < 0 && divisor > 0) || (dividend > 0 && divisor < 0)) {answer = -answer;}return (int) answer;}
}

PS:这个方法是除法

class Solution {public int divide(int dividend, int divisor) {if (dividend == 0) {return 0;}if (dividend == Integer.MIN_VALUE && divisor == -1) {return Integer.MAX_VALUE;}boolean negative;negative = (dividend ^ divisor) <0;//用异或来计算是否符号相异long t = Math.abs((long) dividend);long d= Math.abs((long) divisor);int result = 0;for (int i=31; i>=0;i--) {if ((t>>i)>=d) {//找出足够大的数2^n*divisorresult+=1<<i;//将结果加上2^nt-=d<<i;//将被除数减去2^n*divisor}}return negative ? -result : result;//符号相异取反}
}

Java实现 LeetCode 29 两数相除相关推荐

  1. leetcode 29.两数相除

    leetcode 29.两数相除 题目描述 给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 ...

  2. leetcode 29 两数相除 C语言

    题目 leetcode 29 给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 diviso ...

  3. LeetCode 29. 两数相除(位运算)

    1. 题目 给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的商. 示 ...

  4. leetcode —— 29. 两数相除

    给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的商. 整数除法的结果 ...

  5. [LeetCode]29 两数相除和一个小坑点

    给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符.返回被除数 dividend 除以除数 divisor 得到的商.示例 1:输入: ...

  6. leetcode 29.两数相除(python3)68ms

    题目描述: 给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的商. 整 ...

  7. LeetCode 29 两数相除

    https://leetcode-cn.com/problems/divide-two-integers/submissions/ 解决方案 class Solution {public int di ...

  8. LeetCode高频题29. 两数相除:不用加减乘除号,求加法,减法,乘法,除法

    LeetCode高频题29. 两数相除 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目 互联网大厂们在公司养了一大批ACM竞赛 ...

  9. LeetCode-中等-29. 两数相除

    LeetCode-中等-29. 两数相除 题目 引用自:LeetCode-中等-29. 两数相除(如有侵权联系删除) 给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不 ...

最新文章

  1. 每天生产45亿词!GPT-3已渗透进300+应用中,网友:边吃边拉
  2. 设置Golang的GOPATH
  3. java 链表 传递_java 链表 传递过程中的问题
  4. nrf51822-主从通信分析1
  5. java小程序死机_求解,刚写的小程序,一运行我机器就死机
  6. Java多线程两种实现方式的对比
  7. JavaScript —— this、闭包、原型、异步
  8. Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
  9. 前端学习(484):html之实体
  10. SVG-不是图片的图片
  11. 【2017年第2期】社交网络分析在公共安全领域的应用
  12. 关于汉语转换拼音的组件
  13. mongodb数组更新操作符$push
  14. 这回,B站跨年晚会吊打各卫视
  15. 韩国有多大?相当于中国哪里?
  16. 如何在服务器中安装mysql 以及安装禅道
  17. CSS:光标跟随实现
  18. 计算机网络知识总结(韩立刚老师视频)
  19. 怎么在中国知网免费下载论文?
  20. python中去除空格用什么函数_python中用什么函数去掉空格

热门文章

  1. HOG图像特征提取算法
  2. pythonw是什么文件_Python中.py和.pyw文件的区别 | 勤奋的小青蛙
  3. python爬虫爬取华硕笔记本信息
  4. CSS3实现文字流光渐变特效
  5. 【C++】3-1.19 带有默认参数值的函数
  6. Linux杂谈之nsswitch.conf配置文件
  7. 康耐视Designer,VisionPro和ViDi匹配版本兼容-关于外观缺陷检测中肯的建议与评价
  8. ubuntu中eclipse安装pydev不显示的解决方法
  9. uniapp 实现上拉加载
  10. nacos注册中心(三)服务订阅