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

189. 轮转数组

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

实现方法1:每次移动一位,直到k个位置。

void roate1(vector<int>& nums, int k)
{if(k <= 0){return;}int len = nums.size();int stride = k % len;for(int i=0; i<stride; ++i){int end = nums[len -1];for(int j=len-1; j>0; --j){nums[j] = nums[j-1];}nums[0] = end;}
}

实现方法2: 旋转数组

#include <iostream>
#include <utility>
#include <vector>void rotate(vector<int>& nums, int k)
{int len = nums.size();int stride = k % len;int i=0;while(i < len && stride != 0){for(int j=0; j<stride && i<len; ++j){std::swap(nums[i], nums[len-stride + j]);++i;}if(len>i && len - i < stride){stride = stride % (len -i);}}
}int main(int argc, char** argv)
{std::vector<int> arr{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27};rotate(arr, 38);std::copy(arr.begin(), arr.end(), std::ostream_iterator<int>(cout," "));std::cout<<std::endl;return 0;
}

结果:

17 18 19 20 21 22 23 24 25 26 27 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

相关文章:

  • leetCode 493 翻转对 归并分治 + 图解
  • Redis系列-四种部署方式-单机部署+主从模式+哨兵模式【7】
  • (层次遍历)104. 二叉树的最大深度
  • pytorch DistributedDataParallel 分布式训练踩坑记录
  • 【问题记录】docker pull 镜像的时候 devel 版本和无 devel 版本的差别
  • 使用 eBPF检测 mmap泄露
  • 【电路笔记】-节点电压分析和网状电流分析
  • EDA实验----四选一多路选择器设计(QuartusII)
  • Java中单例模式
  • Echarts柱状体实现滚动条动态滚动
  • Spring源码系列-框架中的设计模式
  • [工业自动化-11]:西门子S7-15xxx编程 - PLC从站 - 分布式IO从站/从机
  • 【C++笔记】优先级队列priority_queue的模拟实现
  • 原型模式(创建型)
  • 解析html生成Word文档
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • JavaScript 如何正确处理 Unicode 编码问题!
  • [case10]使用RSQL实现端到端的动态查询
  • 3.7、@ResponseBody 和 @RestController
  • Effective Java 笔记(一)
  • JavaScript新鲜事·第5期
  • JAVA之继承和多态
  • spark本地环境的搭建到运行第一个spark程序
  • Theano - 导数
  • vue数据传递--我有特殊的实现技巧
  • Webpack 4x 之路 ( 四 )
  • 创建一个Struts2项目maven 方式
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 函数计算新功能-----支持C#函数
  • # Apache SeaTunnel 究竟是什么?
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (1)SpringCloud 整合Python
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (论文阅读40-45)图像描述1
  • (算法)N皇后问题
  • (一)kafka实战——kafka源码编译启动
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .Net中间语言BeforeFieldInit
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @Bean, @Component, @Configuration简析
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [.NET]桃源网络硬盘 v7.4
  • [C#基础]说说lock到底锁谁?
  • [echarts] y轴不显示0
  • [Hadoop in China 2011] 蒋建平:探秘基于Hadoop的华为共有云
  • [hdu 3746] Cyclic Nacklace [kmp]
  • [IE6 only]关于Flash/Flex,返回数据产生流错误Error #2032的解决方式