在有序旋转数组中找到最小值
来源:互联网 发布:淘宝拍a发b教程 编辑:程序博客网 时间:2024/05/01 05:04
/** * Created by lxw, liwei4939@126.com on 2017/11/5. * 给定一个可能旋转过的有序数组arr,可能存在重复的值,返回arr中的最小值 */public class rotatedArrayMin { public int getMin(int[] arr){ int low = 0; int high = arr.length - 1; int mid = 0; while (low < high){ if(low == high - 1){ break; } if(arr[low] < arr[high]){ return arr[low]; } mid = (low + high) / 2; if(arr[low] > arr[mid]){ high = mid; continue; } if(arr[mid] > arr[high]){ low =mid; continue; } while (low < mid){ if(arr[low] == arr[mid]){ low++; } else if(arr[low] < arr[mid]){ return arr[low]; } else { high = mid; break; } } } return Math.min(arr[low], arr[high]); } public static void main(String[] args){ rotatedArrayMin tmp = new rotatedArrayMin(); int[] arr = {6, 7, 1, 2, 3, 4, 5, 6}; System.out.println(tmp.getMin(arr)); }}
阅读全文
0 0
- 在有序旋转数组中找到最小值
- 在有序旋转数组中找到最小值
- 其他题目---在有序旋转数组中找到最小值
- 其他题目---在有序旋转数组中找到一个数
- 在有序旋转数组中找到一个数
- 旋转有序数组中找最小值
- 求旋转有序数组的最小值和在旋转数组中查找
- 有序数组旋转后数组最小值
- 有序数组的旋转数组的最小值
- 在两个有序数组中找到中位数
- 有序数组或者有序数组的旋转数组 查找最小值
- 寻找旋转有序数组的最小值
- 查找有序旋转数组中的最小值
- 求出有序数组旋转后的最小值
- 旋转数组中寻找最小值
- Array----- 153. Find Minimum in Rotated Sorted Array(查找旋转后的有序数组中最小值)
- 循环有序数组(旋转数组)的最小值
- 在一个有序的旋转数组中,查找给定值
- bzoj 5027: 数学题
- 树的重心
- linux学习第十八篇:vim编辑模式和命令模式
- 面试必备:ArrayMap源码解析
- 4.1(3)
- 在有序旋转数组中找到最小值
- 从0开始学Python--0x02. 启动Python
- 快速幂
- 单链表的表示和实现
- 第10周项目4- 哈夫曼编码的算法验证
- 设计模式(18)——备忘录 Memento
- VB.NET编写图灵聊天机器人程序
- Retrofit2源码解析02-创建Call
- Ubuntu 修改IP 后SSH 失败