刷題 力扣 665

2022-06-11 23:12:15 字數 726 閱讀 7050

題目鏈結

題目描述

給你乙個長度為 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

解釋: 你不能在只改變乙個元素的情況下將其變為非遞減數列。

說明:

題目分析

根據題目描述要求最多改變乙個元素使列表非遞減

當nums[i] > nums[i+1]時,有兩種情況nums[i]是問題元素或者nums[i+1]是問題元素

故分為兩種情況,令nums[i]=nums[i+1]和nums[i+1]=nums[i]

這兩種情況中有一種是非遞減序列,即為成功

**

class solution 

}for (int i = 0; i < nums1.size() - 1; i++)

break;}}

return true;

}};

力扣刷題系列

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。從中學知識知道,如果需要求一組數字的中位數,那麼先要從小到大排列這些數字。接著,如果總共有奇數個...

刷題 力扣 119

題目鏈結 題目描述 給定乙個非負索引 k,其中 k 33,返回楊輝三角的第 k 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 3 輸出 1,3,3,1 高階 題目分析 根據題目描述楊輝三角形每一行從左到右依次是 組合 combiner是用來計算組合的結果 依次遍歷每一行從左到右 c...

刷題 力扣 480

題目鏈結 題目描述 中位數是有序序列最中間的那個數。如果序列的長度是偶數,則沒有最中間的數 此時中位數是最中間的兩個數的平均數。例如 2,3,4 中位數是 3 2,3 中位數是 2 3 2 2.5 給你乙個陣列 nums,有乙個長度為 k 的視窗從最左端滑動到最右端。視窗中有 k 個數,每次視窗向右...