Blogger Information
Blog 82
fans 0
comment 1
visits 107641
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
665. Non-decreasing Array
子龙的博客搬家啦httpswwwcnblogscomZiLongZiLong
Original
773 people have browsed it

说在前面

因为简单,所以轻敌

因为轻敌所以想各种骚方法解决问题,因为想骚

所以被陷入了自己制造的思维怪圈

所以啊 地狱都是自己造的

描述:

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

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

直接贴ac代码

/**
 * @param {number[]} nums
 * @return {boolean}
 */
var checkPossibility = function(nums) {
    let L = nums.length,
        min = -Infinity,
        maxChange = 0;
    if( L <= 2 ) return true;

    for( let i = 0; i < L-1; i++){
        if( nums[i] > nums[i+1] ){
            if(maxChange) return false;
            if( ( nums[i+1] ) < min ){
                nums[i+1] += nums[i] - nums[i+1];
                min = nums[i];
                maxChange++;
            }else{
                nums[i] += nums[i+1] - nums[i];
                min = nums[i];
                maxChange++;
            }
        }else{
            min = nums[i];
        }
            
            
    }
    return true;
    
    
};

唯一心得:

既然是递增数列为什么某个元素出问题之后

不去修改之后的元素呢(除非他是第一个元素)

以后尽量别想骚了

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post