class Solution:"""29. 两数相除给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。"""def divide(self, dividend: int, divisor: int) -> int:# 思路:除数向左移位运算不断找比被除数小的最大数,设置辅助变量track记录每次移位除数变大的倍数# 参考视频:https://www.bilibili.com/video/BV1SQ4y1K7z5?spm_id_from=333.337.search-card.all.click# 1. 初始化及特殊处理# 记录最大的边界值,32位有符号数的范围[-2^31, 2^31 - 1]limit = 2 ** 31  if divisor == 0:raise Exception("两数相除,除数不能为0")if dividend == 0 and divisor != 0:return 0# 记录结果符号,True代表正数,False代表负数# isNeg = (dividend > 0 and divisor < 0) or (dividend < 0 and divisor > 0)isNeg = (divisor < 0) != (dividend < 0)  # 优化判断结果为负的方法dividend, divisor = abs(dividend), abs(divisor)res = 0div, track = divisor, 1# 2. while循环处理while dividend >= divisor:while dividend >= (div << 1):# 易错点# div << 1# track << 1div <<= 1track <<= 1res += track  # 记录当前拆解的最大块的结果值# 记录剩余的dividenddividend -= div# 恢复div, trackdiv, track = divisor, 1# 3. 返回值, 负数不存在溢出的情况,只需要考虑正数溢出的情况# 易错点# return min(limit, -res if isNeg else res)return min(limit-1, -res if isNeg else res)

leetcode第29题python版两数相除相关推荐

  1. Python编程 | 两数相除

    文章目录 两数相除 1,程序简介 示例 1: 示例 2: 提示: 2,程序代码 3,运行结果 两数相除 1,程序简介 给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不 ...

  2. (每日一练python)两数相除

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

  3. Leetcode每日一题:167.two-sum-ii-input-array-is-sorted(两数之和Ⅱ-输入有序数组)

    解题思路:双指针 l 和 r,分别指向头和尾,对于这个有序数组,如果number[l] + number[r] 比 target大,那么说明选择的r对应元素偏大,将指针 r 左移:如果小于target ...

  4. Leetcode每日一题: 1.two-sum(两数之和)

    执行时间上仍有较大改进之处: 今天还get一个新的编译错误点: 编译错误 error: control may reach end of non-void function [-Werror,-Wre ...

  5. python 余数_python中两数相除取余数怎么运算

    在Python中取余数可以通过取模运算符%或通过divmod()函数来计算. 1.取模运算符%: 所谓取模运算,就是计算两个数相除之后的余数,符号是%.如a % b就是计算a除以b的余数.用数学语言来 ...

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

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

  7. [Leetcode][JAVA]第[29]题[两数相除][二分法]

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

  8. postgre非零相除等于0_LeetCode刷题实战29:两数相除

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  9. leetcode —— 29. 两数相除

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

最新文章

  1. 《实施Cisco统一通信管理器(CIPT1)》一2.4 使用分布式呼叫处理的多站点WAN部署模型...
  2. 背景属性的相关属性设置
  3. DVWA--文件上传漏洞
  4. Linux 命令之 pwunconv -- 关闭投影密码
  5. Android 集成高德地图——当前定位,添加图标,画路线,设置显示中心位置,比例,地图刷新位置监听,判断GPS开启,去打开GPS
  6. python查看系统信息_学习python获取系统信息和磁盘容量
  7. windows无法访问_注册CourseMaker之后无法登录,显示“网络无法访问……”,怎么办?...
  8. 第11章 使用Vsftpd服务传输文件
  9. excel 相邻数计算机,Excel计算公式大全.doc
  10. 大熊君JavaScript插件化开发------(实战篇之DXJ UI ------ ItemSelector)
  11. 会计软件属于什么计算机软件,会计核算软件属于什么_会计从业资格先学什么...
  12. 我的第一届acm大赛
  13. python工具-截图自动保存
  14. 网络安全实验3 使用PGP实现电子邮件安全
  15. pta 机工士姆斯塔迪奥(C语言实现)
  16. 《领导变革》读书笔记
  17. SpringBoot项目遇到AopAutoConfiguration matched: - @ConditionalOnProperty (spring.aop.auto=true)错误
  18. 特别策划:非计算机专业如何转行做程序员?
  19. 上海市计算机应用基础教学资源平台,课程平台
  20. 不同类型香港服务器怎么选?

热门文章

  1. 基于Verilog HDL的数字秒表、波形发送器等设计
  2. 折腾个自己的nps服务器
  3. 小程序 自定义组件Component
  4. IntelliJ IDEA如何设置为中文语言
  5. game游戏学习网站
  6. 【空间分析】莫兰指数与Geary‘s Python实现
  7. Centos 查看网卡型号
  8. 微信小程序的监听函数(mpvue)
  9. 基于Qt的实时温度传输系统
  10. Word出现很多灰色小点点和箭头的解决方法: