https://leetcode.com/problems/non-decreasing-array/description/
#include <iostream>
#include <vector>
#include <climits>
using namespace std;
class Solution {
public:
bool checkPossibility(vector<int>& nums) {
if (nums.size() < 1) {
return true;
}
int first = -1;
for (int i = (nums.size() - 1); i > 0 ; i--) {
nums[i] = nums[i] - nums[i - 1];
if (nums[i] < 0) {
if (first != -1) {
return false;
}
first = i;
}
}
if (first == 1 || first == (nums.size() - 1))
return true;
else if (((nums[first] + nums[first -1]) >= 0) || ((nums[first] + nums[first + 1]) >= 0)) {
return true;
}
return false;
}
};
#include <vector>
#include <climits>
using namespace std;
class Solution {
public:
bool checkPossibility(vector<int>& nums) {
if (nums.size() < 1) {
return true;
}
int first = -1;
for (int i = (nums.size() - 1); i > 0 ; i--) {
nums[i] = nums[i] - nums[i - 1];
if (nums[i] < 0) {
if (first != -1) {
return false;
}
first = i;
}
}
if (first == 1 || first == (nums.size() - 1))
return true;
else if (((nums[first] + nums[first -1]) >= 0) || ((nums[first] + nums[first + 1]) >= 0)) {
return true;
}
return false;
}
};
留言
張貼留言