概述
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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复