leetcode 189

找到了,这题和高级搜索树里面的就地循环移位是一个题。实际上就是一个经典问题,我记得在哪里,却不知道怎么解决。好像也知道一点,就是反转,然后再反转。利用空间局部性,把缓存的作用发挥到极致。注意这里的 k 和 ppt 里面的 m 不是一个东西,另外我们还需要考虑 k 如果比较大会发生什么情况,所以我们可以考虑用 k 对 n 取模,然后就可以算了。就是先对前面的反转,再对后面的反转,最后对整体反转,实际上非常非常简单。我非常不错!

cpp 复制代码
class Solution {
public:
    void rotate(vector<int>& nums, int k) {
        int n = nums.size();
        k %= n;
        int m = n - k;
        reverse( nums.begin(), nums.begin() + m );
        reverse( nums.begin() + m, nums.end() );
        reverse( nums.begin(), nums.end() );
    }
};
相关推荐
lucas_AI8 小时前
给YOLO检测器插 LoRA,'插对地方'比'插什么'更要命
人工智能·算法
LuminousCPP9 小时前
数据结构-时间与复杂度|时间/空间复杂度 + 两道力扣练习 + 二分查找复盘
c语言·数据结构·经验分享·算法·leetcode
Nil2089 小时前
leetcode 三数之和
数据结构·算法·leetcode
小小龙学IT9 小时前
C++ std::vector 底层实现深度解析:内存布局、扩容策略、移动语义与迭代器失效
开发语言·c++·算法
eBest数字化转型方案9 小时前
从工程视角拆解冰柜资产管理:拍照识别 pipeline、纯净度算法与 IoT 选型踩坑
人工智能·物联网·算法
Interview Aid1129 小时前
Roblox OA 面经|小游戏+编程双修,Coding 两题满分通过
算法
闲研随记10 小时前
【文献阅读 ICLR 2026】RL算法:Co-Rewarding
算法
青山木10 小时前
Hot 100 --- 最小栈
java·数据结构·算法·leetcode
疯狂打码的少年10 小时前
【数据结构】栈的应用:表达式求值(后缀表达式)
java·数据结构·笔记·算法
HiDev_10 小时前
【非标自动化】plc执行顺序问题、扫描周期问题
深度学习·算法·机器学习