博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode:find_minimum_in_rotated_sorted_array
阅读量:5884 次
发布时间:2019-06-19

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

一、     题目

给定一个排好序的数组。数组可能是单调递增,也可能有一个变换。

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

要求找出最小的数。

二、     分析

这道题正如题目所说的分来两种情况

1、         严格单调递增

2、         有一个拐点

  我们须要分情况处理。当然也能够无论这些直接遍历,即从头到尾扫描,找出最小的数;假设依据题意,我们须要考虑

1、         当严格单调时,因为是排好序的所以我们直接return 第一个元素就可以;或者直接利用二分法查找也能够。

2、         当有拐点时,我们就能够二分查找高速找到最小值。

综上所诉。考虑两种情况能够提高效率,可是直接当做一种情况更优点理。

并且都能通过。

 

class Solution {public:    int findMin(vector
&num) { int min = num[0]; for(int i=1;i
num[i-1]) min = num[i]; } return min; }};class Solution {public: int findMin(vector
&num) { if(num.size()==0) return 0; int sta=0; int flag; int end=num.size()-1; while(sta
&num) { int cou=num.size()-1; //the numbers of num if(num.size()==0) return 0; //the num is null if(num.size()==1) return num[0]; //num have a single number int mid=0; int sta=0; //the start int end=cou; //the end if(num[sta]

转载地址:http://qgoix.baihongyu.com/

你可能感兴趣的文章
js调用soapWebService服务
查看>>
OTA Package Tools
查看>>
JavaWeb学习笔记——jsp:setproperty和getproperty
查看>>
浅谈 SOLID 原则的具体使用
查看>>
【设计模式】抽象工厂模式
查看>>
windows下制作PHP扩展
查看>>
基础知识漫谈(1): 想到哪儿写到哪儿
查看>>
动态链接库dll
查看>>
Spring中 @Autowired注解与@Resource注解的区别
查看>>
PHP ob系列函数详解
查看>>
解决Ckeditor编辑器不显示html实体,自动过滤html的问题
查看>>
spring bean加载顺序指定方式之一
查看>>
SEO 相关知识
查看>>
为什么springMVC和Mybatis逐渐流行起来了?
查看>>
NTVS:把Visual Studio变成Node.js IDE 的工具
查看>>
GoogLeNet学习心得
查看>>
C#终于支持可选参数了!
查看>>
git常用命令总结
查看>>
使用Topshelf创建Windows 服务
查看>>
Intellij IDEA 安装 Mybatis插件
查看>>