美文网首页
算法——山脉序列中的最大值

算法——山脉序列中的最大值

作者: luweicheng24 | 来源:发表于2019-02-22 20:46 被阅读0次

描述
给 n 个整数的山脉数组,即先增后减的序列,找到山顶(最大值)
您在真实的面试中是否遇到过这个题?
样例
例1:
输入: nums = [1, 2, 4, 8, 6, 3]
输出: 8
例2:
输入: nums = [10, 9, 8, 7],
输出: 10

实现:

public class Solution {
    /**
     * @param nums: a mountain sequence which increase firstly and then decrease
     * @return: then mountain top
     */
    public int mountainSequence(int[] nums) {
        // write your code here
        
          if (nums == null || nums.length == 0) {
            return -1;
        }

        int start = 0;
        int end = nums.length - 1;
        while (start + 1 < end) {
            int mid = start + (end - start) / 2;
            if (nums[mid] > nums[mid - 1]) {
                start = mid;
            }
            if (nums[mid] > nums[mid + 1]) {
                end = mid;
            }
        }
        return Math.max(nums[start], nums[end]);
    }
}

相关文章

  • 算法——山脉序列中的最大值

    描述给 n 个整数的山脉数组,即先增后减的序列,找到山顶(最大值)您在真实的面试中是否遇到过这个题?样例例1:输入...

  • 360一面(已跪)

    1.先来了两个算法题 给一个无序的序列,序列中的数为整数(可正可负),求连续子序列的和的最大值。例:-8,1,3,...

  • 最大子串问题

    给定N个整数的序列 {A1,A2, A3,...,AN}, 求函数 的最大值。 算法一 算法二 算法三分而治之...

  • 最大子列和问题的4种复杂度算法

    定义:给定个整数的序列 ,求函数 的最大值(若最大子列和为负数,则返回0)。 算法1——int MaxSubSeq...

  • 十大排序算法之八:计数排序(Python)

    计数排序 1. 算法步骤 1.1 花O(n)的时间扫描一下整个序列A,获取最小值min和最大值max;1.2 开辟...

  • 最大连续子序列问题

    题目 解法 方法一 curSum为包含当前值的连续序列最大值,如对序列nums[:i],curSum和中必定包含n...

  • Python序列

    序列 索引 切片 序列相加 乘法 检查某个元素是否是序列的成员 计算序列的长度 最大值和最小值

  • 通用序列操作

    序列总览 通用序列操作 索引 分片 序列相加 乘法 成员运算 长度,最小值和最大值

  • Java 最大子列和问题(Maximum Subsequence

    问题 给定N个整数序列 求函数 的最大值。 算法一 算出所有可能的连续子列的和,并比较 时间复杂度O(N^3) 算...

  • NLP(二十三)序列标注算法评估模块seqeval的使用

      在NLP中,序列标注算法是常见的深度学习模型,但是,对于序列标注算法的评估,我们真的熟悉吗?  在本文中,笔者...

网友评论

      本文标题:算法——山脉序列中的最大值

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