本文主要是介绍896.单调数列(Java),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 题目描述:
- 输入:
- 输出:
- 代码实现:
题目描述:
如果数组是单调递增或单调递减的,那么它是 单调 的。
如果对于所有 i <= j,nums[i] <= nums[j],那么数组 nums 是单调递增的。 如果对于所有 i <= j,nums[i]> = nums[j],那么数组 nums 是单调递减的。
当给定的数组 nums 是单调数组时返回 true,否则返回 false。
输入:
nums = [1,2,2,3]
输出:
true
代码实现:
public class Main{public static void main(String[] args) {//测试案例int[] nums = new int[]{1, 1, 0};System.out.println(isMonotonic(nums));//true}public static boolean isMonotonic(int[] nums) {//标记变量:1代表单调 0 代表不单调int flag = 1;int seq = 0;//目前出现的第一组数是单调递减或是单调递增for (int i = 0; i < nums.length - 1; i++) {if (nums[i + 1] != nums[i]) {//出现不同数字之后,两数相加seq = nums[i + 1] - nums[i];break;}}//根据目前seq的值确定数列单调if (seq < 0) {//递减for (int i = 0; i < nums.length - 1; i++) {if (nums[i + 1] > nums[i]) {//出现递增时,标记为不单调flag = 0;break;}}} else {//递增for (int i = 0; i < nums.length - 1; i++) {if (nums[i + 1] < nums[i]) {//出现递减时,标记为不单调flag = 0;break;}}}//返回标记变量return flag == 1;}
}
这篇关于896.单调数列(Java)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!