当前位置: 首页 > news >正文

15 轮转数组

给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。

示例 1:

输入:nums = [1,2,3,4,5,6,7], k = 3输出:[5,6,7,1,2,3,4]解释:向右轮转 1 步:[7,1,2,3,4,5,6]向右轮转 2 步:[6,7,1,2,3,4,5]向右轮转 3 步:[5,6,7,1,2,3,4]

示例 2:

输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:向右轮转 1 步: [99,-1,-100,3] 向右轮转 2 步: [3,99,-1,-100]

提示:

  • 1 <= nums.length <= 105
  • -231 <= nums[i] <= 231 - 1
  • 0 <= k <= 105

进阶:

  • 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。
  • 你可以使用空间复杂度为O(1)原地算法解决这个问题吗?
思路:环形链表

1、检查参数的合法性

2、计算数组的长度n,轮转大小为k(k有可能大于n,真实的k=k%n)

3、创建一个新的vector ,创建一个指针point,指向数组的k位置,point=k

4、从point指针开始循环一圈数组,放入新的vercor中

5、返回新的vector

class Solution { public: void rotate(vector<int>& nums, int k) { int n=nums.size(); if(n<2||k<=0) return; vector<int> _temp(n,0); int i=k%n; int begin=0; do{ _temp[i++%n]=nums[begin++]; }while(begin!=n); nums.swap(_temp); } };
数组翻转

思路

1、创建一个翻转vector的函数

2、翻转整个数组

3、翻转0到k-1的位置

4、翻转k到size-1的位置

class Solution { public: void rotate(vector<int>& nums, int k) { int n=nums.size(); if(n<2||k<=0) return; k=k%n; reverse(nums.begin(),nums.end()); reverse(nums.begin(),nums.begin()+k); reverse(nums.begin()+k,nums.end()); } };
reverse:翻转元素顺序

作用:将vector中元素的顺序完全颠倒。

#include <vector> #include <algorithm> // reverse 在这里 std::vector<int> v = {1, 2, 3, 4, 5}; std::reverse(v.begin(), v.end()); // v 变为 {5, 4, 3, 2, 1}

推荐一个零声教育学习教程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,点击立即学习:链接

http://www.jsqmd.com/news/1359839/

相关文章:

  • 2026 德阳房屋漏水渗水修缮选择指南:厨卫、外墙、屋顶、飘窗阳光房渗漏怎么高效处理 - 筑宅安
  • 巴中防水补漏维修专业靠谱师傅推荐2026 同城师傅就近上门维修 - 昵19226106854
  • Pajek社会网络分析数据导入导出实战技巧
  • 为什么过去空气能很难进楼房?锦江火浪楼暖机如何破局
  • 兴化方成财税专业做汇算清缴代账,2026实力测评价格透明不踩坑 - 工业品网
  • 2026 莆田房屋漏水渗水修缮选择指南:厨卫、外墙、屋顶、飘窗阳光房渗漏怎么高效处理 - 筑宅安
  • 程序员如何用游戏化思维提升工作效率与学习动力
  • 2026年全国自研系统GEO优化服务商汇总清单:5家头部企业技术能力、服务体系与适配场景全解析 - 互联网科技品牌测评
  • 2026滁州职业技术学院公办高起专需要到校上课吗?拿证周期多久? - 最新资讯
  • 前端必会能力 - 底层核心原理
  • Flutter两周开发背单词App:Riverpod状态管理与Hive数据持久化实战
  • 免费解锁iOS激活锁:AppleRa1n工具全面指南与实用教程
  • AI获客让批发商传统线下获客不再那么难 - 红枫叶GEO优化公司
  • 杭州商业IP如何打造?传媒公司专业策略全解析 - GrowthUME
  • 2026年大扭矩煤矿用全液压履带钻机直供推荐与选型指南 - 汇聚至此
  • Claude Code Hooks:基于事件驱动的AI编程自动化实战指南
  • 2026滚柱丝杆行业格局解读,实力厂家价格透明优选攻略 - 工业品网
  • 终极指南:3步搞定Razer设备在FanControl中的智能调速难题
  • 广西建筑模板发东莞黄江,品质与效率如何双赢? - GrowthUME
  • 联想刃7000k BIOS完全解锁教程:3分钟开启隐藏超频选项
  • 2026年8月最新数据显示:GEO市场已饱和,头部机构如何占据半壁江山?中国GEO公司深度横评 - 互联网科技品牌测评
  • 乌鲁木齐税务筹划怎么选?本地企业主信赖的正规服务指南 - GrowthUME
  • 豆包AI搜索等主流工具落地长沙效果横评实录
  • C++继承机制深度解析:从内存布局到多态实现
  • Vue3企业级Excel风格数据表格组件深度解析与最佳实践
  • 2026武清装修公司怎么选?本地人亲测评测指南 - 品牌帮
  • Robomaster S1巡线警戒程序开发,不完美的告一段落
  • C/C++内存管理:核心概念与高效实践指南
  • 2026甲醛治理方案横评,普通家庭的真实选择与避坑指南 - GrowthUME
  • 2026不锈钢护栏生产厂靠谱** 客户口碑力荐品质之选 - 工业品网