zoukankan      html  css  js  c++  java
  • Find Minimum in Rotated Sorted Array 分类: Leetcode 2015-01-03 10:23 83人阅读 评论(0) 收藏

    Suppose a sorted array is rotated at some pivot unknown to you beforehand.

    (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).

    Find the minimum element.

    You may assume no duplicate exists in the array.


    排好序的数列是很容易搞定的,直接找最小值

    class Solution {
    public:
        int findMin(vector<int> &num) {
          int min=num[0];
          int i;
          for(i=0;i<num.size();i++)
          {
              if(num[i]<min)
              {
                  min=num[i];
                  break;
              }
          }
          return min;
            
        }
    };

    二分查找,经典的查找算法

    class Solution {
    public:
        int findMin(vector<int> &num) {
          int l,r,min,mid,size;
          size  = num.size()-1;
          min = num[0];
          l=0;
          r=size;
          while(l<r)
          {
              if(num[l]<num[r])
              {
                  break;
              }
              else
              {
                  mid=(l+r)/2;
                  if(num[mid]<num[l])
                  {
                      r=mid;
                  }
                  else
                  {
                      l=mid+1;
                  }
              }
              
    
          }
          return num[l];
              
          
            
        }
    };




    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    希尔排序之C++实现(初级版)
    CF9D How many trees?
    IOI2015 boxes纪念品盒
    CSP-S 2019图论总结
    数据生成器
    Special-Judge模板
    CF293B Distinct Paths
    浅谈几种常见的剪枝方式
    CF620E New Year Tree
    浅谈DFS序
  • 原文地址:https://www.cnblogs.com/learnordie/p/4656977.html
Copyright © 2011-2022 走看看