zoukankan      html  css  js  c++  java
  • 非递减数列

    此博客链接:https://www.cnblogs.com/ping2yingshi/p/14383691.html

    非递减数列

    题目链接:https://leetcode-cn.com/problems/non-decreasing-array/

    题目

    给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。

    我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。

    示例 1:

    输入: nums = [4,2,3]
    输出: true
    解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。
    示例 2:

    输入: nums = [4,2,1]
    输出: false
    解释: 你不能在只改变一个元素的情况下将其变为非递减数列。

    题解

    非递减数列,意思就是递增数列,但是包含数字相等的情况,如果出现递减的情况,可以把前一个数减小,或者后面一个数增大,变成递增的数列,我考虑了两种情况,如果前面一个数比后面一个数大的话,我把前面一个数赋值给后面一个数或者把后面一个数赋值给前面一个数,然后遍历整个数组,看是否还有递减的情况,如果有的话,就说明不能改变一个数把数组变成非递增的。

    代码

    class Solution {
        public boolean checkPossibility(int[] nums) {
            int len=nums.length;
            int count=0;
            int count1=0;
            int  num1[]=new int[len];
            int num2[]=new int [len];
            for(int i=0;i<len;i++)
            {
                 num1[i]=nums[i];
                 num2[i]=nums[i];
            }
            for(int i=0;i<len-1;i++)
            {
                
                    if(nums[i]>nums[i+1])
                    {
                        num1[i]=nums[i+1];
                        num2[i+1]=nums[i];
                        break;
                    }
                  
                }  
             for(int i=0;i<len-1;i++)
            {
                 if(num1[i]>num1[i+1])
                    {
                        count++;
                    }
                    if(num2[i]>num2[i+1])
                    {
                        count1++;
                    }
            }
            if(count>0&&count1>0)
            {
                return false;
            }
           return true;
            
        }
    }

    结果

    出来混总是要还的
  • 相关阅读:
    hdoj 1872 稳定排序
    nyoj 60 谁获得了最高奖学金
    hdoj 2066 一个人的旅行
    nyoj 8 一种排序
    bzoj1798 1
    bzoj4031
    SPOJ-HIGH
    学习笔记::矩阵树定理
    学习笔记::树上莫队
    Strip
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/14383691.html
Copyright © 2011-2022 走看看