LeetCode: 189.轮转数组

本篇目标了解,翻转数组的经典解法,

189. 轮转数组 - 力扣(LeetCode)

目录

基本方法概述:

1,翻转做法,推荐时O(n),空(1)

2,环状替换,极不推荐(思路好像,但官方的解释比较难理解,官方题解更像是在秀操作,)时O(n)空(1)

3,创建临时数组,拷贝完后,再拷贝回去,时O(n),空O(n);显现不出自身水平,尤其在掌握了翻转做法,这就太过时了

4,单个临时变量,来一遍一遍的循环重复,向右轮转的操作(如果K和数组本身较大,时间耗损的多),时O(n^2),空(1)太LOW了

翻转法的代码:


基本方法概述:

1,翻转做法,推荐时O(n),空(1)

2,环状替换,极不推荐(思路好像,但官方的解释比较难理解,官方题解更像是在秀操作,)时O(n)空(1)

环状替换的思路,主要思想是:一次性(一步到位,而且不会),排到,轮转k次的位置,

3,创建临时数组,拷贝完后,再拷贝回去,时O(n),空O(n);显现不出自身水平,尤其在掌握了翻转做法,这就太过时了
4,单个临时变量,来一遍一遍的循环重复,向右轮转的操作(如果K和数组本身较大,时间耗损的多),时O(n^2),空(1)太LOW了

翻转法的代码:

void rotate(int* nums, int numsSize, int k) {k = k % numsSize;//轮转numsSize*n+k次和轮转k次没有区别int tmp = 0;//数组翻转法,可以用函数来分装翻转的操作,会清晰一些,不过这里就没这么做了for(int i = 0; i < numsSize / 2; ++i){//翻转alltmp = nums[i];nums[i] = nums[numsSize - i - 1];nums[numsSize - i - 1] = tmp;}for(int i = 0; i < k / 2; ++i){//翻转前半段tmp = nums[i];nums[i] = nums[k - i - 1];nums[k - i - 1] = tmp;}for(int i = 0; i < (numsSize - k) / 2; ++i){//翻转后半段tmp = nums[k + i];nums[k + i] = nums[numsSize - 1 - i];nums[numsSize - 1 - i] = tmp;}
}

                        

每日一表情包:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/444791.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端入门第二天

目录 一、列表、表格、表单 二、列表&#xff08;布局内容排列整齐的区域&#xff09; 1.无序列表&#xff08;不规定顺序&#xff09; 2.有序列表&#xff08;规定顺序&#xff09; 3.定义列表&#xff08;一个标题多个分类&#xff09; 三、表格 1.表格结构标签 2.合并…

回归预测 | Matlab实现CPO-LSSVM冠豪猪算法优化最小二乘支持向量机多变量回归预测

回归预测 | Matlab实现CPO-LSSVM冠豪猪算法优化最小二乘支持向量机多变量回归预测 目录 回归预测 | Matlab实现CPO-LSSVM冠豪猪算法优化最小二乘支持向量机多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现CPO-LSSVM冠豪猪算法优化最小二乘支持向…

[Visual Studio] vs 2022中如何创建空白的解决方案

在Visual Studio 2022中创建一个空白的解决方案非常简单。请按照以下步骤操作&#xff1a; 打开Visual Studio。 在启动页面上&#xff0c;选择“创建新的项目”。 在“创建新项目”的对话框中&#xff0c;搜索“空白”。 在中间搜索结果中&#xff0c;选择“空白解决方案”…

【鸿蒙】大模型对话应用(三):跨Ability跳转页面

Demo介绍 本demo对接阿里云和百度的大模型API&#xff0c;实现一个简单的对话应用。 DecEco Studio版本&#xff1a;DevEco Studio 3.1.1 Release HarmonyOS SDK版本&#xff1a;API9 关键点&#xff1a;ArkTS、ArkUI、UIAbility、网络http请求、列表布局、层叠布局 页面跳…

沁恒微WCH32v003驱动ST7735S硬件spi+DMA调试小坑(2)

上一篇文章解决了spidma传输数据时DC线操作时序不匹配的问题&#xff0c;但是屏幕依旧没有点亮&#xff0c;所以这一篇文章继续找还存在的问题。上一篇文章&#xff1a;沁恒微WCH32v003驱动ST7735S硬件spiDMA调试小坑-CSDN博客 老规矩&#xff0c;先用逻辑分析仪抓取一下波形。…

【任职资格】某国有通信集团任职资格体系搭建管理咨询项目纪实

A公司是某通信集团为强化经营&#xff0c;管理集团重要客户市场而成立的专业化分公司&#xff0c;是当前信息通信行业发展的重要蓝海。A公司成立于2010年10月&#xff0c;短短几年得到了迅速的发展&#xff0c;目前&#xff0c;A公司客户数已超过200万家&#xff0c;所管理的集…

openssl3.2 - .pod文件的查看方法

文章目录 .pod文件的查看方法概述笔记初步的解决方法备注 - pod2html.bat的详细用法好像Perl就自带这个BATEND .pod文件的查看方法 概述 看到openssl源码目录下有很多.pod文件, 软件发布的帮助内容都在里面. 当make install后, 大部分的.pod都会转成html文件, 但是有一部分…

Redis -- 单线程模型

失败是成功之母 ——法国作家巴尔扎克 目录 单线程模型 Redis为什么这么快 单线程模型 redis只使用一个线程&#xff0c;处理所有的命令请求&#xff0c;不是说redis服务器进场内部真的就只有一个线程&#xff0c;其实也有多个线程&#xff0c;那就是处理网络和io的线程。 R…

【每日一题】6.LeetCode——轮转数组

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》|《数据结构与算法》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;小杨水平有限&#xff0c;欢…

光杆司令如何部署大模型?

1、背景 今天这种方式非常贴合低配置笔记本电脑的小伙伴们, 又没有GPU资源, 可以考虑使用api方式,让模型服务厂商提供计算资源 有了开放的api,让你没有显卡的电脑也能感受一下大模型管理知识库,进行垂直领域知识的检索和问答.算是自己初步玩一下AI agent 之前有写过一篇《平民…

关于Spring框架的 @Configuration 与@Service 加载顺序哪个先后(某些环境加载是随机的)

很多资料都说Configuration 优先加载&#xff0c;Service后加载&#xff0c;如下图&#xff1a; 本来也是以为 Configuration 优先加载于 Service &#xff0c;那参数处理放在Configuration注入完后&#xff0c;service构建时就可以拿来用的&#xff0c;在我在IDEA的调试时下断…