专栏首页大前端Kotlin Array 二分法查找

Kotlin Array 二分法查找

示例代码

    /**
     * 二分法查找
     * @findValue:需查找的数字
     * */
    fun findNumber(findValue:Int):Int{

        var index = -1
        if(itemArr[0] > findValue || itemArr[itemArr.size - 1] < findValue){
            return index
        }

        var start = 0
        var end = itemArr.size - 1
        var find = -1
        while (start <= end){
            find = (start + end) / 2
            if(itemArr[find] > findValue){
                end = find - 1
            }else if(itemArr[find] < findValue){
                start = find + 1
            }else{
                index = find
                break
            }
        }

        return index
    }

调用方式

        // 初始
        helloArray.text = "初始:" + itemArr.asList().toString() +"\n\n"

        // 二分法查找
        var index = findNumber(20)
        helloArray.text = helloArray.text as String + "二分法查找:" + index +"\n\n"

运行结果

完毕。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 当Kotlin遇见数据结构丨使用哈夫曼编码解压文件

    哈夫曼编码是一种编码格式,属于可变字长编码的一种,该方法依照字符出现的概率来构建异字头的平均长度最短的码字,最终实现根据使用频率来最大化节省码字(字符)的存储空...

    码脑
  • 当Kotlin遇见数据结构丨使用哈夫曼编码压缩文件

    哈夫曼编码是一种编码格式,属于可变字长编码的一种,该方法依照字符出现的概率来构建异字头的平均长度最短的码字,最终实现根据使用频率来最大化节省码字(字符)的存储空...

    码脑
  • Kotlin Array 创建、增、删、改、查、插入

    码脑
  • 【开源公告】日调用量数万亿 | 分布式缓存系统DCache正式开源

    DCache是腾讯自研的分布式内存型NOSQL存储系统,主要用于高性能分布式缓存。该系统支持k-v,k-k-row,list,set,zset多种数据结构,具备...

    腾讯开源
  • 小程序服务范围大调整!社交、直播都能做了

    知晓君
  • 小程序 · 一周报

    官方称从微信6.7.2客户端版本开始,为便于用户方便使用小程序,web-view组件在全屏模式下,将统一显示导航栏。开发者在全屏模式下,无需再自行绘制 web-...

    极乐君
  • 提前曝光!微信官方悄悄告诉我们,这 3 个新能力即将开放

    随着小程序的持续窜热,商家和企业加速进入小程序生态,越来越多人「严阵以待」着小程序新能力的发布和微信关于小程序未来规划的描述。而在 11 月 21 日的公开课,...

    知晓君
  • 微信小程序3大主要功能场景:APP功能迁移、线下门店、公众号变现

    自小程序2017年1月9号正式上线以来,不论是中小商家,还是各大品牌巨头,都在抢占小程序这波风口,打造属于自己的小程序。截至目前,全国正式上线小程序超过150万...

    速成应用小程序开发平台
  • 魏晓海:腾讯车载小程序:智慧出行的场景化落地

    12月15日,由腾讯云主办的首届“腾讯云+社区开发者大会”在北京举行。本届大会以“新趋势•新技术•新应用”为主题,汇聚了超40位技术专家,共同探索人工智能、大数...

    云加社区技术沙龙
  • 微信小程序会是web前端人才的春天吗?

    摘要 微信小程序于2017年1月9日凌晨正式上线,它是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,也体现了“用完即走”的理念。微信小程序的...

    IT大咖说

扫码关注云+社区

领取腾讯云代金券