zoukankan      html  css  js  c++  java
  • Search in Rotated Sorted Array II

    Search in Rotated Sorted Array II

    Follow up for "Search in Rotated Sorted Array":
    What if duplicates are allowed?

    Would this affect the run-time complexity? How and why?

    Write a function to determine if a given target is in the array.

    这道题说如果有重复的元素会不会对,时间之类的有影响,对于我这种懒人直接copy上一题的过去A了,不过感觉和线性搜索O(n)的时间复杂度提升不是太多,只是后面的用了二分查找O(logn)

    虽然是一样的,还是贴一下代码,恩,我就是这么无聊

     1 public class Solution {
     2     public boolean search(int[] A, int target) {
     3         int i = 0;
     4         for(; i < A.length; i++){
     5             if(i > 0 && A[i - 1] > A[i])            //找出轴的位置
     6                 break;
     7             if(A[i] == target)
     8                 return true;
     9         }
    10         if(i == A.length)                            //没有找到
    11             return false;
    12         //从轴的位置到最后开始二分查找从i的位置开始到length - 1
    13         int low = i;
    14         int high = A.length - 1;
    15         int middle;
    16         while(low <= high){
    17             middle = (low + high) / 2;
    18             if(A[middle] == target)
    19                 return true;
    20             else if(A[middle] > target){        //前半段找
    21                 high = middle - 1;
    22             }else{                                //后半段找
    23                 low = middle + 1;
    24             }
    25         }
    26         
    27         return  false;
    28     }
    29 }
  • 相关阅读:
    免费的mysql客户端管理工具
    vue配置反向代理
    composer下载地址
    mysql多个字段模糊查询是否包含某个词
    Laravel 7 中文文档
    datatable显示文字改为中文
    MongoDB
    node 与 Ajax 的等待响应
    关于 <!DOCTYPE html> 对移动端和PC端的影响
    Vue中 scoped属性
  • 原文地址:https://www.cnblogs.com/luckygxf/p/4151407.html
Copyright © 2011-2022 走看看