首页 > 其他分享 >对于数组中取下标中值操作int mid=(left+right)/2的讨论

对于数组中取下标中值操作int mid=(left+right)/2的讨论

时间:2023-09-14 23:56:12浏览次数:41  
标签:right 下标 中轴线 int mid 恰为 left

分两种情况

    1.left和right之间(含left和right元素)共有奇数个,此时中轴线穿过正中间的元素

      判断方法:right-left的值为偶数,即(right-left)%2=0。

      此时(left+right)/2恰为整数,此结果恰为left与right下标之间的中值下标,正好在中轴线上

    2.left和right之间(含left和right元素)共有奇数个,此时中轴线穿过正中间的两个元素中间的空隙。

      判断方法:right-left的值为奇数,即(right-left)%2=1。

      此时(left+right)/2恰为小数,经过int类型的截断后,此结果正为在中轴线左侧的那一个元素对应的下标

     

 

标签:right,下标,中轴线,int,mid,恰为,left
From: https://www.cnblogs.com/huan-ming/p/17703854.html

相关文章

  • 如何写论文的 abstract摘要和introduction背景介绍
    摘要是题目的扩展、简介是摘要的扩展、正文是简介的扩展,逻辑紧密,环环紧扣。无论是摘要、简介还是正文,围绕的核心都是一个点:题目,突出的是工作内容+创新点。其实无论是核心还是sci,写科技文就像是写八股文,套路都是一样的。下面提供一点写摘要和背景介绍的思路和建议。如何写abstract......
  • print()不带逗号、括号输出列表内容(不使用遍历)
    假设有一个列表li=[1,4,6,7,2,5]1、直接输出列表print(li)[1,4,6,7,2,5]2、增加*可以不带逗号、括号输出列表元素print(*li)1467253、还可以使用sep参数自定义每个元素之间的间隔符print(*li,sep='#')1#4#6#7#2#5 ......
  • Java集成开发环境(IDE)-IntelliJ IDEA 2023 mac+win版
    IntelliJIDEA是一款由JetBrains开发的集成开发环境(IDE),用于Java、Kotlin和其他编程语言的开发。它是一款功能强大、灵活且易于使用的IDE,被广泛认为是Java开发的首选工具之一。→→↓↓载IntelliJIDEA2023mac/win版 首先,IntelliJIDEA2023引入了更强大的代码分析和智能提......
  • 1132 Cut Integer(附测试点浮点错误)
    题目:CuttinganintegermeanstocutaKdigitsloneintegerZintotwointegersof(K/2)digitslongintegersAandB.Forexample,aftercuttingZ=167334,wehaveA=167andB=334.ItisinterestingtoseethatZcanbedevidedbytheproductofAa......
  • Paper reading: Improving Deep Forest by Exploiting High-order Interactions
    目录研究动机文章贡献本文方法通过gRIT和ERF提取特征交互特征交互的稳定性分数自适应层次生成实验结果合成数据集实验真实数据集实验数据集实验设置实验结果计算复杂度优点和创新点PaperReading是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不......
  • USB-CDC虚拟串口实现printf功能
    本篇文章介绍如何使用CH32来实现USB虚拟串口打印功能,代替传统中的串口打印。相比传统串口优势点: 1,速度快,一包大概也就几十us,而传统的大概要用到几ms。 2,节省了一个USB转串口芯片的成本。 3,在没有USB转串口工具的情况下,可以很方便调试。下面就介绍怎么配置USB-FS口一,在US......
  • [vite] Internal server error: URI malformed at decodeURI (<anonymous>) at viteTr
    前端访问地址:http://localhost:80前端项目启动,出现[vite]Internalservererror:URImalformedatdecodeURI()atviteTransformMiddleware(xxx_project/node_modules/vite/dist/node/chunks/dep-51c4f80a.js:59976:19)看看浏览器路径上是否带有未编码的字符,例如:/123%45......
  • How to change the default keep-alive time-out value in Internet Explorer
    [b]SUMMARY:[/b]ThisarticledescribeshowtochangethedefaultHTTPkeep-alivevalueinMicrosoftInternetExplorer.WhenInternetExplorerestablishesapersistentHTTPconnectionwithaWebserver(byusingConnection:Keep-Alive......
  • 关于 ui5-middleware-fe-mockserver Mock Server 的使用介绍
    @sap-ux/ui5-middleware-fe-mockserver是一个用于SAPUI5本地开发的中间件,它的作用是模拟后端服务,以便在没有实际后端服务器的情况下进行前端开发和调试。这个MockServer具有丰富的功能,可以帮助开发人员模拟不同的后端场景,包括模拟数据、模拟OData服务、模拟HTTP请求等......
  • Intel正式发布雷电5:120Gbps带宽、240W充电逆天!玩法远胜USB4 2.0
    Intel正式发布了全新一代的Thunderbolt5接口标准,也就是雷电5,无论传输速度还是连接能力,都实现了一次巨大的飞跃,更是展示了基于雷电5的新一代笔记本、扩展坞原型。这里,我们就看看雷电5到底带来了哪些变化,可以如何改变我们的工作、生活和娱乐方式,以及Intel在背后有怎样的思考,做出了......