美文网首页
局部最小值

局部最小值

作者: IT_Matters | 来源:发表于2016-07-07 11:56 被阅读119次

定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]<arr[1],那么arr[0]是局部最小;如果arr[N-1]<arr[N-2],那么arr[N-1]是局部最小;如果0<i<N-1,既有arr[i]<arr[i-1]又有arr[i]<arr[i+1],那么arr[i]是局部最小。给定无序数组arr,已知arr中任意两个相邻的数都不相等,写一个函数,只需返回arr中任意一个局部最小出现的位置即可。

思路

如果数组长度为1,返回0;
如果arr[0]<arr[1],那么arr[0]是局部最小;--返回0
如果arr[N-1]<arr[N-2],那么arr[N-1]是局部最小;返回N-1

如果arr[mid]<arr[mid-1]&&arr[mid]<arr[mid+1],直接返回mid即可.
否则如果arr[mid]>arr[mid-1], 向左半部分寻找.
否则向右半部分寻找.

 public int getLessIndex(int[] arr) {
        if(arr.length==0)return -1;

        if(arr.length==1||arr[0]<arr[1])return 0;

        int hi=arr.length-1;
        if(arr[hi]<arr[hi-1])return hi;

        int lo=0,mid=0;
        while(true){
            mid=lo+(hi-lo)/2;
            if(arr[mid]<arr[mid-1]&&arr[mid]<arr[mid+1])return mid;
            else if(arr[mid]>arr[mid-1]){
                hi=mid;
            }
            else{
                lo=mid;
            }
        }        
    }

相关文章

  • 局部最小值

    定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]

  • 二分搜索

    应用: 找一个数组中的局部最小值,任意一个都行。(这个就不要求二分必须有序)局部最小值:如果arr[0]

  • [线性回归] 重点

    线性回归 线性回归只有一个最小值,也就是只有全局最小值,没有局部值。 代价函数(Cost Function)是预测...

  • 不要陷入局部最小值

    不要只见秋毫,而不见舆薪。譬如发现某个细枝末节的问题,翻来覆去、折腾一天找到各种偏方。但是在工程上来说,如果绕过这...

  • 生活的困境与局部最小值

    2019年6月14日,惊闻老家的堂弟自杀,悲痛之余,有一些感想。 我一直觉得,人一辈子,总会有走不出来的困境,想要...

  • python实现leetcode之121. 买卖股票的最佳时机

    解题思路 一遍扫描,找到两个值一个是局部最大差值一个是最小值扫描完成时:局部最大差值就是全局最大差值 121. 买...

  • 李宏毅机器学习——深度学习训练的技巧

    神经网络训练的技巧 优化失败的原因: 局部最小值或鞍点,可以通过对H矩阵特征值正负性进行判断 batch:加快梯度...

  • 利用Kmeans聚类分析两类问题

    优点:容易实现。 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢。 一、已知聚类簇数的iris数据集 不存在...

  • 逻辑回归与极大似然估计

    寄语:争取每天都写一些深度学习的笔记,学有所获。 逻辑回归定义 由于为非凸函数,存在很多局部最小值,用常规的可能难...

  • OpenCV-Python教程:31.分水岭算法对图像进行分割

    理论 任意的灰度图像可以被看做是地质学表面,高亮度的地方是山峰,低亮度的地方是山谷。给每个孤立的山谷(局部最小值)...

网友评论

      本文标题:局部最小值

      本文链接:https://www.haomeiwen.com/subject/wnhljttx.html