我是靠谱客的博主 冷静鱼,最近开发中收集的这篇文章主要介绍896.单调数列Java,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

896.单调数列Java

题目描述

如果数组是单调递增或单调递减的,那么它是单调的。

如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。

当给定的数组 A 是单调数组时返回 true,否则返回 false。

输入输出样式

示例1:
输入:[1,2,2,3]
输出:true

示例2:
输入:[1,3,2]
输出:false

示例3:
输入:[1,1,1]
输出:true

本文题来自LeetCode:https://leetcode-cn.com/problems/monotonic-array/

思路

遍历数组,记录大于、小于、等于的比较次数。最后如果大于+等于或者小于+等于的次数等于数组长度减一则说明是单调数列。

算法分析

时间复杂度O(n),空间复杂度为O(1)

求解函数

public boolean isMonotonic(int[] nums) {
        int eql = 0, low = 0, high = 0;
        for (int i = 0; i < nums.length - 1; ++i) {
            if (nums[i + 1] > nums[i]) ++high;
            else if (nums[i + 1] < nums[i]) ++low;
            else ++eql;
        }
        if (low + eql == nums.length - 1 || high + eql == nums.length - 1) return true;
        else return false;
    }

主函数调用

class Solution896 {
    public static void main(String[] args) {
        int[] nums = new int[]{1};
        Solution896 sol = new Solution896();
        System.out.println(sol.isMonotonic(nums));
    }

    public boolean isMonotonic(int[] nums) {...}
}

输出结果

在这里插入图片描述

最后

以上就是冷静鱼为你收集整理的896.单调数列Java的全部内容,希望文章能够帮你解决896.单调数列Java所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部