轮转数组(元素位置对调、数据的左旋、右旋)
189. 轮转数组
给定一个整数数组 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]
思路:(题目已经提示你,轮转数组!!!)
1.先反转整个数组
2.再反转数组的 1~K 项
3.再反转 K~numsSize 项
4.得到结果
void reverse(int* p, int left, int right) //为了第三次旋转,需要自己传左右位置
{
//对两端进行操作的时候,一般定义left 和 right 作为下标
while(left < right) // < 不是 <=
{
int tmp = p[left]; //解引用可以对实参内容进行修改
p[left++] = p[right];
p[right--] = tmp;
}
}
void rotate(int* nums, int numsSize, int k) { //void 不需要返回
k %= numsSize; // K 的大小,可能会长于字符串长度( K %= numsSize,可以按照周期性的方式,减去字符串长度的整数倍,留下真正需要操作的旋转数)
reverse(nums, 0, numsSize - 1);
reverse(nums, 0, k - 1);
reverse(nums, k, numsSize - 1);
}
经验总结:1、此题借助K,将数组分为两个部分,学会对整体和部分进行拆分操作
2. //对两端进行操作的时候,一般定义left 和 right 作为下标(比如旋转)
3.题目中的数组是nums,不是arr
相关文章:
轮转数组(元素位置对调、数据的左旋、右旋)
189. 轮转数组 给定一个整数数组 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 步: …...
喜迎乔迁,开启新章 ▏易我科技新办公区乔迁庆典隆重举行
2024年1月18日,易我科技新办公区乔迁庆典在热烈而喜庆的氛围中隆重举行。新办公区的投入使用,标志着易我科技将以崭新姿态迈向新的发展阶段。 ▲ 易我科技新办公区 随着公司业务的不断发展和壮大,为了更好地适应公司发展的需要,…...
多个地区地图可视化
1. 配置Json文件 1.1 获得每个省份的json数据 打开 阿里云数据可视化平台 主页。 在搜索框中输入所需省份。 将json文件下载到本地。 1.2 将各省份的json数据进行融合 打开 geojson.io 主页 点击 open,上传刚刚下载的 json 文件,对多个省份不断…...
学习使用paddle来构造hrnet网络模型
1、首先阅读了hrnet的网络结构分析,了解到了网络构造如下: 参考博文姿态估计之2D人体姿态估计 - (HRNet)Deep High-Resolution Representation Learning for Human Pose Estimation(多家综合)-CSDN博客 最…...
Redis 多线程操作同一个Key如何保证一致性?
单线程模型:Redis 是单线程模型的,它通过一个事件循环来处理所有客户端请求,这意味着 Redis 在任何时刻只会处理一个请求,从而避免了并发访问同一个 Key 的问题。这种设计保证了数据的一致性。 乐观锁(Watchÿ…...
单链表合并
【问题描述】 建立两个升序排列的单链表,表中元素的数据类型是整数,将建立的两个链表合并为 一个新的升序的单链表,并输出显示已合并好的有序的单链表 。 【输入形式】分别输入两组数据,两组数据以回车分隔;每组数据…...
【如何像网吧一样弄个游戏菜单在家里】
GGmenu 个人家庭版游戏、应用管理 桌面图标管理器...
CSS~~
CSS是一门语言,用于控制网页表现 CSS(Cascading Style Sheet):层叠样式表 W3C标准:网页主要由三部分组成 结构:HTML 表现: CSS 行为:JavaScript 1,CSS的导入方式 (1)内联样式 在标签内部使用style属性,属性值是cs…...
Docker技术概论(1):Docker与虚拟化技术比较
Docker技术概论(1) Docker与虚拟化技术比较 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https:…...
alibabacloud学习笔记07(小滴课堂)
讲解Sentinel自定义异常降级-新旧版本差异 讲解新版Sentinel自定义异常数据开发实战 如果我们都使用原生的报错,我们就无法得到具体的报错信息。 所以我们要自定义异常返回的数据提示: 实现BlockExceptionHandler并且重写handle方法: 使用F…...
Ansible-Playbook
目录 1、概念介绍 roles 角色 playbook 核心元素 ansible-playbook 命令 playbook 简单案例 2、Ansible 变量 自定义变量 facts 变量 Palybook 部署 LAMP ansible 端安装 LAMP playbook 系统环境脚本 构建 httpd 任务 构建 mariadb 任务 构建 php 任务 编写整个任务…...
UE5常见问题处理笔记
一、C工程中的文件出现很多头文件找不到,比如:#include CoreMinimal.h文件提示找不到。 解决方法:在UE编辑器中选择菜单Tools -> Refresh Visual Studio Project。 二、莫名其妙的编译错误。 解决方法,找到工程根目录下的Bi…...
docker中hyperf项目配置虚拟域名
在学习hyperf框架时遇到一些问题,这里是直接用了docker环境 下载镜像运行容器 docker run --name hyperf -v /data/project:/data/project -p 9501:9501 -itd -w /data/project --privileged -u root --entrypoint /bin/sh 镜像ID配置docker-compose.yml version…...
PID闭环控制算法的学习与简单使用
平台:matlab2021b,Vivado2018 应用场景和理解 一个早餐店,假如一天都有生意,生意有的时间很火爆,有时候又一般,老板又是个实在人,只知道在后厨蒸包子。由于包子蒸熟需要一定的时间,老…...
【无刷电机学习】光耦HCNR200基本原理及应用(资料摘抄)
【仅作自学记录,不出于任何商业目的。如有侵权,请联系删除,谢谢!】 本文摘抄翻译自: https://docs.broadcom.com/wcs-public/products/application-notes/application-note/331/6/av02-1333en-an_5394-16jul10.pdfhtt…...
【LeetCode】1768_交替合并字符串_C
题目描述 给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 https://leetcode.cn/problems/merge-strings-al…...
C#解析JSON
https://blog.csdn.net/weixin_43046974/article/details/131449900 C#解析JSON 1. JSON定义2. JSON一般构成及解析方法3. 解析举例子 1. JSON对象解析,只包含一层对象{}2. 嵌套JSON对象解析,包含多层对象{}3. JSON数组解析1(数组循环遍历&…...
AI图像识别算法助力安全生产*提升风险监测效率---豌豆云
2024年开年来安全生产事故频发,工厂爆炸、工程坍陷等重大安全生产事故的发生再次为我们敲响了警钟。 安全生产是企业发展的生命线,而传统的安全监测手段存在盲区和延迟,难以及时发现和应对潜在风险。 AI图像识别算法通过利用先进的计算机视…...
CSS技巧:实现两个div在同一行显示的方法
css如何让两个div在同一行显示 - web开发 - 亿速云 在Web开发中,经常遇到需要将多个元素水平排列在同一行的情况。其中一个常见的需求是将两个div元素放置在同一行上,使它们并排显示。在本文中,我们将介绍几种实现这一效果的CSS方法。 1. 使…...
【Unity】Node.js安装与配置环境
引言 我们在使用unity开发的时候,有时候会使用一些辅助工具。 Node.js就是开发中,经常会遇到的一款软件。 1.下载Node.js 下载地址:https://nodejs.org/en 2.安装Node.js ①点击直接点击Next下一步 ②把协议勾上,继续点击…...
从理论到实践:深度解析神经协同过滤(NCF)模型架构与代码复现
1. 神经协同过滤(NCF)的前世今生 推荐系统就像一位贴心的私人助理,它通过分析你的历史行为,预测你可能喜欢的商品或内容。传统的协同过滤方法,比如矩阵分解(MF),就像是给用户和物品打上简单的标签,然后计算它们之间的匹…...
Seaborn 绘图基础
在 Python 的数据可视化生态中,Seaborn 是建立在 Matplotlib 之上的高级统计绘图库。它面向数据分析任务提供了更直接的绘图接口,能够围绕变量的分布、关系与结构组织图形表达,因此特别适合教学入门与探索性数据分析。与只关注“如何画出线、…...
AI赋能开发:让快马智能生成telnet会话录制与自动化回放测试工具
最近在做一个网络设备的自动化测试项目,需要频繁通过telnet进行配置验证。传统的手工测试效率太低,于是尝试用AI辅助开发一个智能化的telnet会话录制与回放工具。整个过程在InsCode(快马)平台上完成,体验非常流畅。 需求分析 首先明确工具需要…...
python py2exe
# 把Python脚本变成Windows可执行文件:聊聊py2exe 如果你写过一些Python脚本,可能会遇到这样的场景:写了个挺实用的小工具,想分享给同事或朋友用,但他们电脑上可能没装Python环境。这时候就需要把.py文件变成.exe可执行…...
GraphViz+CANdelaStudio实战:如何可视化你的State Diagram状态转换图
GraphVizCANdelaStudio实战:如何可视化你的State Diagram状态转换图 在汽车电子开发领域,状态机的设计和验证是核心工作之一。当你在CANdelaStudio中精心设计了复杂的状态转换逻辑后,如何让这些抽象的状态关系变得直观可理解?这就…...
分享稳定可靠的TMC5160、TMC5130高性能步进电机驱动代码,支持级联,简单易用,附送原理图
TMC5160、TMC5130高性能步进电机驱动代码 代码都已长时间验证,稳定可靠运行! 图里资料就是到手资料 简介: 德国TMC步进电机驱动代码 送你OrCAD或者AD版本原理图 自己整个重新写的代码,注释详细 支持多个TMC5160级联 调用很简单&a…...
PCK文件解析与资源提取全指南:从基础到高级的游戏资源逆向工程实践
PCK文件解析与资源提取全指南:从基础到高级的游戏资源逆向工程实践 【免费下载链接】godot-unpacker godot .pck unpacker 项目地址: https://gitcode.com/gh_mirrors/go/godot-unpacker 在游戏开发与学习过程中,我们经常需要分析游戏资源文件以理…...
33.3%提及率,直接提及却为0%:张雪机车的AI搜索“假性存在”危机
一次小范围诊断,暴露了一个关键信号:品牌在AI生成答案中的“存在感”,远没有看起来那么安全。近日,张雪机车在国内大火,各大媒体都对张雪本人做了铺天盖地的报道。我们是做GEO(生成式搜索优化)服…...
SSN在LiDAR目标检测环境配置、SSN在LiDAR目标检测模型代跑训练、SSN在LiDAR目标检测模型改进创新SSN在LiDAR目标检测环境配置:Windows、Ubuntu、Centos、
SSN在LiDAR目标检测环境配置、 SSN在LiDAR目标检测模型代跑训练、 SSN在LiDAR目标检测模型改进创新 SSN在LiDAR目标检测环境配置:Windows、Ubuntu、Centos、Macos等系统环境,如果电脑拥有显卡,可配置GPU版本的SSN在LiDAR环境。 SSN在LiDAR目标…...
ArcMap10.4.1中文版地图数字化技巧:如何高效捕捉和数字化等高线
ArcMap 10.4.1中文版等高线数字化实战:从基础操作到效率倍增技巧 在GIS数据处理中,等高线数字化是地形分析的基础环节,也是许多项目中最耗时的步骤之一。我曾参与过一个山区防洪规划项目,团队需要处理超过200平方公里的1:10000地形…...
