• 【leetcode】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.

     
    I类似,只是在二分搜索前,只是在判断左右两边是否有序时更加麻烦一些。
    此时复杂度是O(n)了,和采用线性搜索的方法基本一致
     
     1 class Solution {
     2 public:
     3     bool search(int A[], int n, int target) {
     4        
     5        
     6         int left=0;
     7         int right=n-1;
     8         int mid;
     9         while(left<=right)
    10         {
    11            
    12             mid=(left+right)/2;
    13             if(A[mid]==target)
    14             {
    15                 return true;
    16             }
    17            
    18  
    19             //增加了这些判断语句
    20             bool isLeft=true;
    21            
    22             for(int i=left;i<=mid;i++)
    23             {
    24                 if(A[i]>A[mid])
    25                 {
    26                     isLeft=false;
    27                     break;
    28                 }
    29             }
    30            
    31             if(isLeft)
    32             {
    33                 if(A[left]<=target&&target<A[mid])
    34                 {
    35                     right=mid-1;
    36                 }
    37                 else
    38                 {
    39                     left=mid+1;
    40                 }
    41             }
    42             else
    43             {
    44                 if(A[mid]<target&&target<=A[right])
    45                 {
    46                     left=mid+1;
    47                 }
    48                 else
    49                 {
    50                     right=mid-1;
    51                 }
    52             }
    53  
    54         }
    55         return false;
    56        
    57     }
    58 };
  • 相关阅读:
    CSS3 @font-face
    CSS3 Media Queries
    简单弹出层示例
    mysql查询排名
    ajax 简单学习
    js ajax 传送xml dom对象到服务器
    雨燕权限管理后端技术总结
    日期date出参入参和timestamp转化
    雨燕权限管理前端技术总结
    jwt再度理解
  • 原文地址:https://www.cnblogs.com/reachteam/p/4176021.html
Copyright © 2020-2023  润新知