LeetCode # Array # Easy # 665. Non-decreasing Array
Posted dongpingan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode # Array # Easy # 665. Non-decreasing Array相关的知识,希望对你有一定的参考价值。
Given an array with n
integers, your task is to check if it could become non-decreasing by modifying at most 1
element.
We define an array is non-decreasing if array[i] <= array[i + 1]
holds for every i
(1 <= i < n).
题意:给定一个数组,只调整一个元素的条件下,该数组能否变成一个递增的数组,
思路:(参考)用贪心算法,当发现nums[i-1]>nums[i]时,我们希望通过改变一个值,使局部递增。
当没有nums[i-2],或者nums[i-2] <= nums[i]时,将nums[i-1]=nums[i],这样使得局部有序;
当nums[i-2]>nums[i]时,将nums[i-1]=nums[i],因为nums[i-1]>=nums[i-2],所以做修改后,局部有序;
修改完一次后,如果还有降序的元素,则该数组不符合条件。
1 class Solution { 2 public boolean checkPossibility(int[] nums) { 3 int cnt = 0,len = nums.length; ; 4 for(int i = 1; i < len && cnt<=1 ; i++){ 5 if(nums[i-1] > nums[i]){ 6 cnt++; 7 if(i-2<0 || nums[i-2] <= nums[i])nums[i-1] = nums[i]; 8 else nums[i] = nums[i-1]; 9 } 10 } 11 return cnt<=1; 12 } 13 }
以上是关于LeetCode # Array # Easy # 665. Non-decreasing Array的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode--219268283414448 Array(Easy)
LeetCode--Array--Two sum (Easy)
LeetCode # Array # Easy # 665. Non-decreasing Array
java [14。最长的共同前缀] #Array #Leetcode #Easy