摘要: 经过旋转后,根据中间元素分成两半,数组一半保持原来升序排序,另一半非有序。主要处理有序部分,判断target是否在这部分,不在的话,排除这部分的数组。 通过是否满足有序的部分的条件,判断二分查找的区间 class Solution { public int search(int[] A, int t 阅读全文
posted @ 2020-03-12 16:50 祈欢 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 二分查找中确定左右边界很重要,利用 first和mid对应的数据,target分别和first,mid的对应的数据关系共四种,其中只有一种能够准确判断出目标数据应该存在的范围 由于本道题目允许数组中出现重复的数据,可以做如下操作: 如果 A[m]>A[1],则区间[1~m]一定自增 A[m]==A[ 阅读全文
posted @ 2020-03-12 15:21 祈欢 阅读(148) 评论(0) 推荐(0) 编辑