标签:cto lan tco oss 数组 tps begin 排序规则 pos
leetcode打卡
class Solution {
public:
bool checkPossibility(vector<int> &nums) {
int n = nums.size();
for (int i = 0; i < n - 1; ++i) {
int x = nums[i], y = nums[i + 1];
if (x > y) {
nums[i] = y;
if (is_sorted(nums.begin(), nums.end())) {
return true;
}
nums[i] = x; // 复原
nums[i + 1] = x;
return is_sorted(nums.begin(), nums.end());
}
}
return true;
}
};
只能改两个地方:i,i+1,如果要改i的话自然是改成i+1处的值最好,如果要改i+1的话自然是改成i的值最好
不过这里有一个函数
is_sorted
is_sorted(v.begin(),v.end());//默认升序检查
is_sorted(v.begin(),v.end(),greater<int>());//降序检查
bool cmp(const int & a, const int & b){
return a%10>b%10;
}
is_sorted(a,a+5,cmp);
is_sorted(v.begin(),v.end(),cmp);//自定义排序规则
标签:cto lan tco oss 数组 tps begin 排序规则 pos
原文地址:https://www.cnblogs.com/zhmlzhml/p/14383849.html