zoukankan      html  css  js  c++  java
  • 骚操作

    数组

    // 反转数组
        void rotate(vector<int>& nums, int k) {
            if (nums.empty() || (k %= nums.size()) == 0) return;
            int n = nums.size();
            reverse(nums.begin(), nums.begin() + n - k);//先反转前n-k个
            reverse(nums.begin() + n - k, nums.end());//再反转后面的
            reverse(nums.begin(), nums.end());//最后整体反转
      }

    //更快地反转数组
        void rotate(vector<int>& nums, int k) {
            if (nums.empty() || (k %= nums.size()) == 0) return;
            int n = nums.size(), start = 0, i = 0, cur = nums[i], cnt = 0;//通过更多的辅助变量达到目的 逻辑较为复杂
            while (cnt++ < n) {
                i = (i + k) % n;
                int t = nums[i];
                nums[i] = cur;
                if (i == start) {
                    ++start; ++i;
                    cur = nums[i];
                } else {
                    cur = t;
                }
            }
        }
  • 相关阅读:
    Mysql 触发器
    Mysql 的变量
    Mysql 事务
    重置mysql管理员密码
    mysql数据备份
    Mysql的联合查询
    Mysql的存储引擎
    数据库的视图
    数据库子查询
    数据库外键
  • 原文地址:https://www.cnblogs.com/Sky-Aces/p/9892259.html
Copyright © 2011-2022 走看看