/**
*
* <pre>
* Follow up for "Find Minimum in Rotated Sorted Array":
* What if duplicates are allowed?
*
* Would this affect the run-time complexity? How and why?
* 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.
*
* The array may contain duplicates.
* </pre>
* */
public class Solution {
public int findMin(int[] num) {
return _findMin(num, 0, num.length - 1);
}
private int _findMin(int[] num, int start, int end) {
if (num[start] < num[end]) {
return num[start];
}
if (start == end) {
return num[end];
}
if (start + 1 == end) {
return num[end];
}
int mid = (end + start) / 2;
if (num[mid] < num[start]) {
return _findMin(num, start, mid);
} else if (num[mid] > num[start]) {
return _findMin(num, mid, end);
} else {
return _findMin(num, start + 1, end);
}
}
}
分享到:
相关推荐
《使用leetcode-editor在IDE中进行LeetCode练习的全方位指南》 LeetCode是一个广受欢迎的在线编程练习平台,它提供了一系列的算法题目供程序员们提升技能。对于习惯在集成开发环境(IDE)中工作的开发者来说,将...
《Python版LeetCode题解全集详解》 LeetCode是一个广受欢迎的在线编程挑战平台,致力于帮助程序员提升技能,特别是面试准备。这个压缩包“lc-all-solutions-master”包含了使用Python语言解决LeetCode所有问题的...
2. **集成编辑器**:插件将LeetCode的题目直接集成到IDEA的编辑器中,用户可以直接在熟悉的IDEA环境中编写、测试和提交代码,避免了在浏览器和IDE之间切换的繁琐过程。 3. **多种语言支持**:LeetCode支持多种编程...
vs code LeetCode 插件
terminal-leetcode, 终端Leetcode是基于终端的Leetcode网站查看器 终端 leetcode终端leetcode是基于终端的leetcode网站查看器。本项目是由 RTV 激发的。 我最近正在学习本地化的反应,以实践我的新知识,并根据这个...
基于Python实现的LeetCode爬虫爬取LeetCode题目描述和提交的代码.zip ## 特点 - 支持爬取题目列表,保存为本地CSV/Excel文件。 - 支持爬取题目描述,保存为本地HTML文件。 - 支持爬取用户提交的代码,保存为如_.py...
(C++)LeetCode刷题题解答案
leetcode刷题, 直接用leetcode的分类方式.
### LeetCode中文版知识点概述 #### 一、LeetCode简介与使用 LeetCode是一个全球知名的在线编程学习平台,主要提供各种算法题目供开发者练习。它不仅涵盖了基础数据结构和算法训练,还包括了大量的面试真题,是...
LeetCode-Swift, 快速LeetCode解决方案 LeetCodeLeetCode在线判断是一个包含很多收费算法的网站。 them Google Google Google Google LinkedIn this this repo 。 请免费参考并收费STAR以支持这个 repo,
LeetCode面试笔试题
力扣(LeetCode) 相比其他编程平台有着很多优势: **各大知名公司面试真题:**对于求职者在这上面训练更具有针对性,目前国内一些公司面试时直接从在这上面出题。 **大中小企业都在使用:**常常会直接或者间接...
《LeetCode Editor 7.4:提升编程技能的利器》 在编程学习和实践中,LeetCode 已经成为了程序员们磨炼算法、提升编程技能的重要平台。为了方便开发者更高效地进行刷题,LeetCode 提供了官方编辑器插件——LeetCode ...
LeetCode 400题目 Java版本 (LeetCode is the platform to help you enhance your skills, expand your knowledge and prepare for technical interviews.)
算法 Leetcode刷题手册 labuladong的算法小抄官方完整版
leetcode 习题集, leetcode 官网出品,包含基本的算法
leetcode 2 Leetcode答案集 关于项目: 本项目包含本人LeetCode解题的答案,全部将由JavaScript语言进行解答。并会在每个题目的文件夹中添加相关的思路解析。 详情 # Title Solution Time Space Difficulty 1 Two ...
leetcode题解代码,先使用C++解题,后续学习其它语言也使用leetcode来快速学习.leetcode题解代码,先使用C++解题,后续学习其它语言也使用leetcode来快速学习.leetcode题解代码,先使用C++解题,后续学习其它语言也...