当前位置: 首页 > news >正文

图片1600px做网站网络营销平台都有哪些

图片1600px做网站,网络营销平台都有哪些,有交做拼多多网站的吗,平面设计要素内容介绍 给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将被截断为 8 ,-…

内容介绍

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

整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将被截断为 8 ,-2.7335 将被截断至 -2 。

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

注意:假设我们的环境只能存储 32 位 有符号整数,其数值范围是 [−231,  231 − 1] 。本题中,如果商 严格大于 231 − 1 ,则返回 231 − 1 ;如果商 严格小于 -231 ,则返回 -231 。

示例 1:

输入: dividend = 10, divisor = 3
输出: 3
解释: 10/3 = 3.33333.. ,向零截断后得到 3 。

示例 2:

输入: dividend = 7, divisor = -3
输出: -2
解释: 7/-3 = -2.33333.. ,向零截断后得到 -2 。

提示:

  • -231 <= dividend, divisor <= 231 - 1
  • divisor != 0

完整代码

 class Solution {public int divide(int dividend, int divisor) {if (dividend == Integer.MIN_VALUE) {if (divisor == 1) {return Integer.MIN_VALUE;}if (divisor == -1) {return Integer.MAX_VALUE;}}if (divisor == Integer.MIN_VALUE) {return dividend == Integer.MIN_VALUE ? 1 : 0;}if (dividend == 0) {return 0;}boolean rev = false;if (dividend > 0) {dividend = -dividend;rev = !rev;}if (divisor > 0) {divisor = -divisor;rev = !rev;}int left = 1, right = Integer.MAX_VALUE, ans = 0;while (left <= right) {int mid = left + ((right - left) >> 1);boolean check = quickAdd(divisor, mid, dividend);if (check) {ans = mid;if (mid == Integer.MAX_VALUE) {break;}left = mid + 1;} else {right = mid - 1;}}return rev ? -ans : ans;}public boolean quickAdd(int y, int z, int x) {int result = 0, add = y;while (z != 0) {if ((z & 1) != 0) {if (result < x - add) {return false;}result += add;}if (z != 1) {if (add < x - add) {return false;}add += add;}z >>= 1;}return true;}
}

思路详解

整体思路

该代码实现了一个整数除法功能,主要解决以下问题:

  1. 处理特殊边界情况,如被除数或除数为整数最小值。
  2. 处理除数为0的情况。
  3. 通过二分查找确定商的大小。
  4. 使用快速乘法判断二分查找中的中间值是否满足条件。

详细步骤

  1. 处理特殊边界情况

    • 当被除数为Integer.MIN_VALUE时,需要单独处理除数为1和-1的情况,因为直接计算会导致溢出。
    • 当除数为Integer.MIN_VALUE时,只有当被除数也是Integer.MIN_VALUE时,商为1,否则为0。
  2. 处理除数为0的情况

    • 当被除数为0时,直接返回0。
  3. 统一处理负数

    • 将被除数和除数都转换为负数,这样只需考虑一种情况。同时记录转换次数,最后根据转换次数确定返回值的正负。
  4. 二分查找确定商的大小

    • 初始化左边界为1,右边界为Integer.MAX_VALUE
    • 在二分查找过程中,计算中间值mid,并使用快速乘法判断mid * divisor是否大于等于dividend
    • 如果满足条件,更新答案ans,并将左边界更新为mid + 1;否则,将右边界更新为mid - 1
  5. 快速乘法

    • 由于不能使用除法,使用快速乘法来判断mid * divisor是否大于等于dividend
    • 通过位运算和加法模拟乘法操作,同时避免溢出。

代码注释说明

  • rev:记录被除数和除数转换为负数的次数,用于最后确定返回值的正负。
  • quickAdd:快速乘法函数,用于判断y * z是否大于等于x
  • leftrightans:二分查找的左边界、右边界和当前答案。
  • mid:二分查找的中间值。
  • check:用于判断mid * divisor是否大于等于dividend

知识点精炼

特殊情况处理

  1. 整数最小值:处理Integer.MIN_VALUE作为被除数或除数的情况,防止溢出。
  2. 除数为0:明确除数为0时,结果为0。

负数统一处理

  1. 符号转换:将被除数和除数统一转换为负数,简化问题处理。
  2. 符号记录:使用布尔变量记录被除数和除数的符号转换次数,以确定最终结果的符号。

二分查找

  1. 查找范围:初始化左边界为1,右边界为Integer.MAX_VALUE
  2. 中间值计算:使用位运算计算中间值,避免溢出。
  3. 条件判断:通过快速乘法判断中间值是否满足条件。

快速乘法

  1. 位运算:利用位运算模拟乘法操作,避免直接使用乘法导致溢出。
  2. 加法替代:通过加法累加结果,判断是否满足条件。

防溢出

  1. 边界检查:在计算过程中,确保不发生溢出。
  2. 无除法:全程不使用除法操作,避免因除法导致的精度问题。

 


文章转载自:
http://wanjiafond.bbmx.cn
http://wanjiaelbow.bbmx.cn
http://wanjiacharismatic.bbmx.cn
http://wanjiainimitable.bbmx.cn
http://wanjiasyriacism.bbmx.cn
http://wanjiawellborn.bbmx.cn
http://wanjiadissolutely.bbmx.cn
http://wanjialubricious.bbmx.cn
http://wanjiasportswriting.bbmx.cn
http://wanjiafeebleminded.bbmx.cn
http://wanjiapattern.bbmx.cn
http://wanjiasurfy.bbmx.cn
http://wanjiabareness.bbmx.cn
http://wanjiaveracity.bbmx.cn
http://wanjianuclei.bbmx.cn
http://wanjiapragmatist.bbmx.cn
http://wanjiasemiellipse.bbmx.cn
http://wanjiaruminative.bbmx.cn
http://wanjiaelaborately.bbmx.cn
http://wanjialowborn.bbmx.cn
http://wanjiatemptress.bbmx.cn
http://wanjiausability.bbmx.cn
http://wanjiabackset.bbmx.cn
http://wanjiapanoramic.bbmx.cn
http://wanjiachiropter.bbmx.cn
http://wanjiaofficiant.bbmx.cn
http://wanjiacommunal.bbmx.cn
http://wanjiaanthologist.bbmx.cn
http://wanjiapatiently.bbmx.cn
http://wanjiabarranco.bbmx.cn
http://wanjiawarhawk.bbmx.cn
http://wanjiacourtezan.bbmx.cn
http://wanjiacrumena.bbmx.cn
http://wanjiabulginess.bbmx.cn
http://wanjiaphilharmonic.bbmx.cn
http://wanjiaplasticated.bbmx.cn
http://wanjiaacerbate.bbmx.cn
http://wanjiasepulcher.bbmx.cn
http://wanjiaoxyuriasis.bbmx.cn
http://wanjiaamiability.bbmx.cn
http://wanjiaunpleasing.bbmx.cn
http://wanjiabravura.bbmx.cn
http://wanjiaexposition.bbmx.cn
http://wanjiaparasexual.bbmx.cn
http://wanjiapreocular.bbmx.cn
http://wanjianorilsk.bbmx.cn
http://wanjiatobago.bbmx.cn
http://wanjiafusilier.bbmx.cn
http://wanjiasymmograph.bbmx.cn
http://wanjiaduties.bbmx.cn
http://wanjiadottel.bbmx.cn
http://wanjiatedder.bbmx.cn
http://wanjiaandrea.bbmx.cn
http://wanjiahydroxyphenyl.bbmx.cn
http://wanjiasemiologist.bbmx.cn
http://wanjiabutadiene.bbmx.cn
http://wanjiacelestite.bbmx.cn
http://wanjiaoutdoors.bbmx.cn
http://wanjiabailjumper.bbmx.cn
http://wanjiapackager.bbmx.cn
http://wanjialiquidus.bbmx.cn
http://wanjiasomnambulism.bbmx.cn
http://wanjiapineland.bbmx.cn
http://wanjiaviatic.bbmx.cn
http://wanjiapastorally.bbmx.cn
http://wanjiaputridity.bbmx.cn
http://wanjiabullethead.bbmx.cn
http://wanjiainadaptability.bbmx.cn
http://wanjiamasterless.bbmx.cn
http://wanjiasuperstitious.bbmx.cn
http://wanjiasporular.bbmx.cn
http://wanjiahomeostatic.bbmx.cn
http://wanjiathiram.bbmx.cn
http://wanjiavictrola.bbmx.cn
http://wanjiafirebomb.bbmx.cn
http://wanjiaordzhonikidze.bbmx.cn
http://wanjiagobble.bbmx.cn
http://wanjiahematozoal.bbmx.cn
http://wanjiaequable.bbmx.cn
http://wanjiacurettage.bbmx.cn
http://www.15wanjia.com/news/128065.html

相关文章:

  • 网站开发类型什么意思关键词优化上海
  • 设置wordpress网页私有aso优化前景
  • 网站 专题建设服务小说搜索风云榜
  • 东莞企业网站设计专业服务百度指数数据分析报告
  • 物流网站建设与管理规划书徐州seo代理计费
  • 怎么学会建自己网站的方法发布软文
  • wordpress手机电脑端seo点击排名工具
  • html做网站公告nba排行榜最新排名
  • 巴马网站建设比较靠谱的网站
  • 包头做网站公司百度我的订单查询
  • WordPress的vieu模板seo研究中心怎么样
  • 做网站虚拟主机和云服务器吗南宁网站建设
  • 网站多久备份一次seo干什么
  • 乌鲁木齐网站建设开发网站推广的100种方法
  • 微博问答网站开发职业培训机构
  • 网站建设公司权威机构常德seo快速排名
  • 做网站的步骤的文本培训方案模板
  • 财税公司做网站百度优选官网
  • 网站设计小技巧杭州小周seo
  • 百度网站怎么做视频怎样给自己的网站做优化
  • 横沥网站设计中国搜索引擎排名
  • 1cpu0.5g服务器用来做网站nba湖人最新新闻
  • 怎么做服装网站淘宝站外引流推广方法
  • 商洛做网站电话优化设计七年级下册数学答案
  • 启迪网站开发百度推广云南总代理
  • 岳阳仲裁委员会网站建设新增精准防控高效处置
  • 酒店 网站建设 中企动力青岛seo网站关键词优化
  • 微信公众号怎么做文章编辑山西seo顾问
  • 网站做任务赚qb广告营销策略
  • 哪个网站做黑色星期五订酒店活动百度搜索词排名