1. 程式人生 > 資訊 >三星將投資 8.5 億美元,擴大 FC-BGA 晶片基板生產

三星將投資 8.5 億美元,擴大 FC-BGA 晶片基板生產

給你一個長度為n的整數陣列,請你判斷在 最多 改變1 個元素的情況下,該陣列能否變成一個非遞減數列。

我們是這樣定義一個非遞減數列的:對於陣列中任意的i (0 <= i <= n-2),總滿足 nums[i] <= nums[i + 1]。

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/non-decreasing-array
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

class Solution {
    public boolean checkPossibility(int[] nums) {
        if (nums == null || nums.length <= 2) {
            return true;
        }
        int cnt = 0;
        int pre = nums[0];
        for (int i = 1; i < nums.length; ++i) {
            if (pre > nums[i]) {
                if (cnt == 1) {
                    return false;
                }
                cnt = 1;
                if (i - 2 >= 0 && nums[i - 2] <= nums[i] || i - 2 < 0) {
                    pre = nums[i];
                }
            } else {
                pre = nums[i];
            }
        }
        return true;
    }
}
心之所向,素履以往 生如逆旅,一葦以航