665.非递减数列
2020-02-04
1.題目描述
對(duì)于一個(gè)數(shù)組,返回能否改變其中的某個(gè)元素使得數(shù)組為非遞減序列2.題解
對(duì)于不滿足非遞減序列中的兩個(gè)元素nums[i]、nums[i+1],存在兩種情況,要不改 變nums[i]的值,要不改變nums[i+1]的值,然后判斷改變后的是否滿足條件即可。3.代碼
#include <iostream> #include <vector> using namespace std;class Solution { public:bool checkPossibility(vector<int>& nums) {int l=nums.size(),i,j,t;for (i=0;i<l-1;i++){if (nums[i]>nums[i+1]){t=nums[i];nums[i]=nums[i+1];break;}}for (j=0;j<l-1;j++){if (nums[j]>nums[j+1]) break;} if (j>=l-1) return true;if (i<l-1){nums[i]=nums[i+1]=t;}for (j=0;j<l-1;j++){if (nums[j]>nums[j+1]) break;} if (j>=l-1) return true;return false;} };int main(){Solution s;int a[3]={4,3,2};vector<int>vec(a,a+3);cout<<s.checkPossibility(vec)<<endl;return 0; }總結(jié)
 
                            
                        - 上一篇: Java集合框架概述及Collectio
- 下一篇: 深度解析PHP数组函数array_chu
