• 找峰值I II · Find Peak Element I ii


    一句话思路:找最大的元素。没有target?

    一刷报错:

    1. 一定要用二分,否则复杂度不是最优。
    2. 判断条件是nums[mid] < nums[mid + 1],还是基于中位数比较的原理。不是nums[start] < nums[start + 1]。(代码不一样都没看出来,太粗心了)

    总结:用二分法往大的一边走,缩小到最后的小区间,比较一下两头就行了。

    class Solution {
        /**
         * @param A: An integers array.
         * @return: return any of peek positions.
         */
        public int findPeak(int[] A) {
            // write your code here
            int start = 1, end = A.length-2; // 1.答案在之间,2.不会出界 
            while(start + 1 <  end) {
                int mid = (start + end) / 2;
                if(A[mid] < A[mid - 1]) {
                    end = mid;
                } else if(A[mid] < A[mid + 1]) {
                    start = mid;
                } else {
                    end = mid;
                }
            }
            if(A[start] < A[end]) {
                return end;
            } else { 
                return start;
            }
        }
    }
    View Code

    [抄题]:

     [暴力解法]:

    时间分析:

    空间分析:

    [思维问题]:

    [一句话思路]:

    [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

    [画图]:

    [一刷]:

    [二刷]:

    [三刷]:

    [四刷]:

    [五刷]:

      [五分钟肉眼debug的结果]:

    [总结]:

    [复杂度]:Time complexity: O() Space complexity: O()

    [英文数据结构或算法,为什么不用别的数据结构或算法]:

    [关键模板化代码]:

    [其他解法]:

    [Follow Up]:

    [LC给出的题目变变变]:

     [代码风格] :

  • 相关阅读:
    matplotlib 去掉坐标轴
    求最大公约数最小公倍数及整除求余数等
    数据分析小题
    map,reduce,filter基础实现
    今日成果:爬取百度贴吧
    Jquery瀑布流布局,jQuery Wookmark Load 示例
    html5 input type="color"边框伪类效果
    Jquery点击除了指定div元素其他地方,隐藏该div
    Jquery判断checkbox是否被选中
    Jquery给网页的title取值和赋值
  • 原文地址:https://www.cnblogs.com/immiao0319/p/7887108.html
Copyright © 2020-2023  润新知