码迷,mamicode.com
首页 > 其他好文 > 详细

is_sorted

时间:2021-02-08 12:11:43      阅读:0      评论:0      收藏:0      [点我收藏+]

标签: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

  • 头文件:#include;
  • 作用:检查数组或者向量是否被排序好;
  • 默认检查方式:升序;
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);//自定义排序规则

is_sorted

标签:cto   lan   tco   oss   数组   tps   begin   排序规则   pos   

原文地址:https://www.cnblogs.com/zhmlzhml/p/14383849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!