首页 > 其他 > 详细

941. Valid Mountain Array

时间:2020-06-14 21:41:50      阅读:45      评论:0      收藏:0      [点我收藏+]
package LeetCode_941

/**
 * 941. Valid Mountain Array
 * https://leetcode.com/problems/valid-mountain-array/description/
 *
 * Given an array A of integers, return true if and only if it is a valid mountain array.
Recall that A is a mountain array if and only if:
A.length >= 3
There exists some i with 0 < i < A.length - 1 such that:
A[0] < A[1] < ... A[i-1] < A[i]
A[i] > A[i+1] > ... > A[A.length - 1]
 * */
class Solution {
    fun validMountainArray(A: IntArray): Boolean {
        if (A.size < 3) {
            return false
        }
        /*
        * -has_down happened before has_up
          -not has_down or not has_up
        * */
        val n = A.size
        var hasDown = false
        var hasUp = false
        for (i in 0 until n - 1) {
            if (A[i] < A[i + 1]) {//is going up
                if (hasDown) {
                    return false
                }
                hasUp = true
            } else if (A[i] > A[i + 1]) {//is going down
                //if hasDown happened before hasUp
                if (!hasUp) {
                    return false
                }
                hasDown = true
            } else {
                //can not be equal
                return false
            }
        }
        return hasUp && hasDown
    }
}

 

941. Valid Mountain Array

原文:https://www.cnblogs.com/johnnyzhao/p/13127053.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!