【Leetcode】189.轮转数组
题目链接:
189.轮转数组
题目描述:

解题思路:
要想实现数组元素向右轮转k个位置,可是将数组三次反转来实现
以 nums = [1,2,3,4,5,6,7], k = 3 为例,最终要得到[5,6,7,1,2,3,4]:
第一次反转:将整个数组反转得到[7,6,5,4,3,2,1]第二次反转:将前k个元素进行反转得到[5,6,7,4,3,2,1]第三次反转:将最后n-k个元素进行反转得到[5,6,7,1,2,3,4],n为数组nums长度
复杂度分析:
时间复杂度O(N)空间复杂度O(1)
代码实现:
class Solution {
public:void reverse(vector<int>& nums, int start, int stop){int p1 = start;int p2 = stop;int temp;while(p2>p1){temp = nums[p1];nums[p1] = nums[p2];nums[p2] = temp;p1++;p2--;}}void rotate(vector<int>& nums, int k) {int n = nums.size();reverse(nums, 0, n-1);reverse(nums, 0, k%n-1);reverse(nums, k%n, n-1);}
};
相关文章:
【Leetcode】189.轮转数组
题目链接: 189.轮转数组 题目描述: 解题思路: 要想实现数组元素向右轮转k个位置,可是将数组三次反转来实现 以 nums [1,2,3,4,5,6,7], k 3 为例,最终要得到[5,6,7,1,2,3,4]: 第一次反转:将整个数组反转…...
【JavaSE】常见面试问题
1. 什么是 Java 中的多态? 多态是 Java 中面向对象的核心特性之一,指的是同一操作作用于不同类型的对象时表现出不同的行为。通过方法重载和方法重写实现。方法重载是同一方法名,根据参数不同做不同处理,属于编译时多态ÿ…...
【超详图文】多少样本量用 t分布 OR 正态分布
文章目录 相关教程相关文献预备知识Lindeberg-Lvy中心极限定理 t分布的来历实验不同分布不同抽样次数的总体分布不同自由度相同参数的t分布&正态分布 作者:小猪快跑 基础数学&计算数学,从事优化领域7年,主要研究方向:MIP求…...
leetcode hot100【Leetcode 416.分割等和子集】java实现
Leetcode 416.分割等和子集 题目描述 给定一个非负整数的数组 nums ,你需要将该数组分割成两个子集,使得两个子集的元素和相等。如果可以分割,返回 true ,否则返回 false。 示例 1: 输入:nums [1,5,11,…...
《算法导论》英文版前言To the teacher第4段研习录:有答案不让用
【英文版】 Departing from our practice in previous editions of this book, we have made publicly available solutions to some, but by no means all, of the problems and exercises. Our Web site, http://mitpress.mit.edu/algorithms/, links to these solutions. Y…...
Laravel关联模型查询
一,多表关联 文章表articles 和user_id,category_id关联 //with()方法是渴求式加载,缓解了1N的查询问题,仅需11次查询就能解决问题,可以提升查询速度。with部分没有就以null输出,所以可以理解为 多表 left join 查…...
Clickhouse 数据类型
文章目录 字符串类型数值类型日期时间类型枚举类型数组类型元组类型映射类型其它类型 字符串类型 数据类型描述备注String可变长度字符串无长度限制,适用于存储任意字符FixedString固定长度字符串定长字符串,长度在创建时指定,如 FixedStrin…...
物联网智能项目如何实现设备高效互联与数据处理?
一、硬件(Hardware) 设备互联的基础,涵盖传感器、执行器、网关和边缘计算设备。 传感器与执行器 功能: 采集环境数据(如温度、湿度、运动等)并执行控制命令。优化方向: 低功耗、高精度传感器以…...
【云服务器】搭建博客服务
未完待续 一、云服务器二、1panel安装及其容器三、Halo博客 一、云服务器 选择了狗云服务器:狗云-高性价比的服务器 安装系统:Ubuntu22.04 前期配置: 修改ssh端口: 二、1panel安装及其容器 三、Halo博客 主题:butt…...
如何抽象策略模式
策略模式是什么 策略设计模式(Strategy Pattern)是一种面向对象设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。这种模式使得算法可以独立于使用它们的客户端而变化。 策略设计模式包含三个主…...
BERT模型的输出格式探究以及提取出BERT 模型的CLS表示,last_hidden_state[:, 0, :]用于提取每个句子的CLS向量表示
说在前面 最近使用自己的数据集对bert-base-uncased进行了二次预训练,只使用了MLM任务,发现在加载训练好的模型进行输出CLS表示用于下游任务时,同一个句子的输出CLS表示都不一样,并且控制台输出以下警告信息。说是没有这些权重。…...
node.js实现分页,jwt鉴权机制,token,cookie和session的区别
文章目录 1. 分⻚功能2. jwt鉴权机制1.jwt是什么2.jwt的应用3.优缺点 3. cookie,token,session的对比 1. 分⻚功能 为什么要分页 如果数据量很⼤,⽐如⼏万条数据,放在⼀个⻚⾯显⽰的话显然不友好,这时候就需要采⽤分⻚…...
34 基于单片机的指纹打卡系统
目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52RC,采用两个按键替代指纹,一个按键按下,LCD12864显示比对成功,则 采用ULN2003驱动步进电机转动,表示开门,另一个…...
【Linux】用户操作命令
声明:以下内容均学习自《Linux就该这么学》一书 1、管理员root Linux系统的管理员之所以是root,并不是因为它的名字叫root,而是因为该用户的身份号码UID(User IDentification)的数值是0。UID相当于身份证号码&#x…...
Y20030018基于Java+Springboot+mysql+jsp+layui的家政服务系统的设计与实现 源代码 文档
家政服务系统的设计与实现 1.摘要2.开发目的和意义3.系统功能设计4.系统界面截图5.源码获取 1.摘要 随着人们生活水平的提高,老龄化、少子化等多重因素影响,我国对家政服务人群的需求与日俱增。家政服务行业对我国的就业和社会效益贡献也与日俱增&#…...
windows部署PaddleSpeech详细教程
windows安装paddlespeech步骤: 1. 安装vs c编译环境 对于 Windows 系统,需要安装 Visual Studio 来完成 C 编译环境的安装。 Microsoft C Build Tools - Visual Studio 2. 安装conda conda create -y -p paddlespeech python3.8 conda activate pad…...
线程条件变量 生产者消费者模型 Linux环境 C语言实现
只能用来解决同步问题,且不能独立使用,必须配合互斥锁一起用 头文件:#include <pthread.h> 类型:pthread_cond_t PTHREAD_COND_INITIALIZER 初始化 初始化:int pthread_cond_init(pthread_cond_t * cond, NULL);…...
C++ packaged_task
packaged_task 是 C11 标准库中引入的一个模板类,它用于将可调用对象(如函数、lambda 表达式、函数对象或绑定表达式)包装起来,并允许异步地获取其结果packaged_task 类提供了一种方便的方式来创建任务,这些任务可以被…...
【联表查询】.NET开源 ORM 框架 SqlSugar 系列
.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…...
嵌入式C编程:宏定义与typedef的深入对比与应用
目录 一、宏定义(Macro Definition) 1.1. 特点与应用 1.1.1 定义常量 1.1.2 定义函数式宏 1.1.3 条件编译 1.2. 作用范围和生命周期方面 1.3. 应用注意事项 二、typedef 2.1. 特点与应用 2.1.1 简化类型声明 2.1.2 提高代码可读性 2.1.3 实现…...
手机和电脑怎样换背景颜色?2026 年最全操作指南来了
想要轻松改变设备背景颜色却不知道从何下手?无论你用的是手机还是电脑,换背景颜色其实比你想象的要简单得多。本篇文章将为你详细介绍各种设备和软件上的背景颜色更换方法,帮你快速掌握这项基础操作技能。手机换背景颜色操作方法完全指南iOS …...
AI-Shoujo HF Patch完全指南:从技术架构到高级应用
AI-Shoujo HF Patch完全指南:从技术架构到高级应用 【免费下载链接】AI-HF_Patch Automatically translate, uncensor and update AI-Shoujo! 项目地址: https://gitcode.com/gh_mirrors/ai/AI-HF_Patch AI-Shoujo HF Patch是一款专为AI-Shoujo游戏设计的模块…...
DeepSpeech终极指南:离线语音识别的深度学习引擎完整实践
DeepSpeech终极指南:离线语音识别的深度学习引擎完整实践 【免费下载链接】DeepSpeech DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power G…...
CANN/Ascend C 基于语言扩展层C API编程
基于语言扩展层C API编程 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https:…...
免费开源AMD Ryzen硬件调试神器:SMUDebugTool完整使用指南
免费开源AMD Ryzen硬件调试神器:SMUDebugTool完整使用指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…...
GPT-5.5不只是能写代码——ChatGPT Image 2模块“语义-结构-纹理“三级解耦机制详解
引言:图像生成能力的范式迁移过去两年,大模型的图像生成能力经历了从"能画"到"画对"的跃迁。早期的文生图模型普遍存在一个核心矛盾:用户想控制"画什么",模型却同时处理"画什么""怎…...
OBS多平台直播插件:一次推流,全网同步的终极解决方案
OBS多平台直播插件:一次推流,全网同步的终极解决方案 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 你是否曾经想过,一场精彩的直播内容可以同时出现…...
终极指南:3分钟学会用QMCDecode解锁QQ音乐加密格式
终极指南:3分钟学会用QMCDecode解锁QQ音乐加密格式 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换…...
脉冲神经网络SNN工程落地全链路指南:从LIF建模到边缘部署
1. 这不是又一本“神经网络入门”——它是一份面向真实研究与工程落地的脉冲神经网络实操手记“Spiking Neural Networks”(SNN)这个词,过去十年里在学术会议海报上出现的频率,几乎和咖啡渍在论文草稿边缘的扩散速度一样快。但如果…...
Sunshine自托管游戏串流终极指南:打造跨平台家庭游戏云的完整解决方案
Sunshine自托管游戏串流终极指南:打造跨平台家庭游戏云的完整解决方案 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想象一下这样的场景:您坐在客厅沙发上…...
