无序数组中找到一个局部最小的位置
来源:互联网 发布:淘宝贞品坊 编辑:程序博客网 时间:2024/06/06 01:42
/** * Created by lxw, liwei4939@126.com on 2017/10/27. * 在无序数组中二分查找找到局部最小值的位置 */public class LocMinPos { public int getLocMinPos(int[] arr){ if(arr == null || arr.length ==0) return -1; if(arr.length ==1 || arr[0] < arr[1]) return 0; if(arr[arr.length -1 ] < arr[arr.length -2]) return arr.length - 1; int left =1; int right = arr.length -2; int mid =0; while (left < right){ mid = (left + right)/2; if(arr[mid] > arr[mid -1]) right = mid -1; else if(arr[mid] > arr[mid + 1]) left = mid +1; else return mid; } return left; }}
PS:二分查找并不是数组有序时才可以使用,只要能够确定二分两侧的某一层存在要找的内容,就可以用
二分查找
阅读全文
0 0
- 无序数组中找到一个局部最小的位置
- 数组与矩阵---在数组中找到一个局部最小的位置
- 给定一个无序数组,找到其中最小的K个数
- 在一个无序数组中找到第K个最小或者最大的元素
- 找到无序数组中最小的K个数
- 数组中局部最小数的位置
- 无序数组中找到第K小的数(或者找到最小的K个数)
- 返回数组任意一个“局部最小”的位置
- 数组与矩阵---找到无序数组中最小的k个数
- 给定一个无序的整型数组arr,找到其中最小的k个数。
- 找到数组中最小的数以及位置
- 在JavaScript数组中找到最小元素的位置
- 【极难】【BFPRT算法】找到无序数组中最小的K个数
- 无序数组中最小的k个数
- 无序数组中最小的K个数
- 无序数组中最小的k个数
- 无序数组中最小的k个数
- 一个无序整数数组中找到最长连续序列(Longest Consecutive Sequence)和两个元素使得相差最小
- hive 分区
- 算法--入门(一)--时间
- IEEE 802.3av 10Gbits EPON 中文翻译(一)
- JavaWeb学习笔记—Eclipse集成Tomcat服务器
- 用三角函数计算两个坐标点距离
- 无序数组中找到一个局部最小的位置
- 在eclipse中安装maven插件
- Codeforces Round #443 (Div. 2) 总结
- vs-code打开本地服务器
- springMVC解决GET与POST乱码
- String工具类
- 《Java专栏》 课题二:Java深入浅出
- 基于opencv的BackgroundSubtractorMOG2目标追踪
- Spring Boot 性能优化