博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Search in a Big Sorted Array
阅读量:6420 次
发布时间:2019-06-23

本文共 1207 字,大约阅读时间需要 4 分钟。

O(logN)

/** * Definition of ArrayReader: *  * class ArrayReader { *      // get the number at index, return -1 if index is less than zero. *      public int get(int index); * } */public class Solution {    /**     * @param reader: An instance of ArrayReader.     * @param target: An integer     * @return : An integer which is the index of the target number     */    public int searchBigSortedArray(ArrayReader reader, int target) {        // write your code here        if (reader == null) {            return -1;        }                int end = 1;        while (reader.get(end - 1) < target) {            end *= 2;        }                int start = 0;        while (start + 1 < end) {            int mid = start + (end - start) / 2;            if (reader.get(mid) == target) {                end = mid;            } else if (reader.get(mid) < target) {                start = mid;            } else {                end = mid;            }        }                if (reader.get(start) == target) {            return start;        }                if (reader.get(end) == target) {            return end;        }                return -1;    }}

 

转载于:https://www.cnblogs.com/codingEskimo/p/6805066.html

你可能感兴趣的文章
Storm集群安装详解
查看>>
centos7.x搭建svn server
查看>>
原码编译安装openssh6.7p1
查看>>
easyui-datetimebox设置默认时分秒00:00:00
查看>>
蚂蚁分类信息系统5.8多城市UTF8开源优化版
查看>>
在django1.2+python2.7环境中使用send_mail发送邮件
查看>>
“Metro”,移动设备视觉语言的新新人类
查看>>
PHP源代码下载(本代码供初学者使用)
查看>>
Disruptor-NET和内存栅栏
查看>>
Windows平台ipod touch/iphone等共享笔记本无线上网设置大全
查看>>
播放加密DVD
查看>>
产品设计体会(3013)项目的“敏捷沟通”实践
查看>>
RHEL6.3基本网络配置(1)ifconfig命令
查看>>
网络诊断工具之—路由追踪tracert命令
查看>>
Java模拟HTTP的Get和Post请求(增强)
查看>>
php 环境搭建(windows php+apache)
查看>>
让虚拟机的软盘盘符不显示(适用于所有windows系统包括Windows Server)
查看>>
Cygwin不好用
查看>>
jQuery插件之验证控件jquery.validate.js
查看>>
[经验]无线鼠标和无线键盘真的不能用了?——雷柏的重生之路~
查看>>