Leetcode面试经典150题-189.轮转数组

server/2024/9/20 7:08:21/ 标签: leetcode, 面试, 算法

解法都在代码里,不懂就留言或者私信

class Solution {public void rotate(int[] nums, int k) {/**向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]....向右轮转 7 步: [1,2,3,4,5,6,7] *//**既然反转数组的倍数是不需要动的,那比如数组长度是6,那旋转8次就是旋转两次再旋转6次旋转6次不用动,那就等价于旋转2次,也就是旋转k次跟旋转k%nums.length没有区别,所以这里化简一下*/k = k % nums.length;/**按照规律,旋转数组长度的倍数是不需要动的*/if(k == 0) {return;}/**我们看每次旋转之后的结果就知道,旋转k次,比如2步,其实就是把后2个数和前面的数交换,整体次序不变这个我们的做法是:前面n-k个数反转,后面k个数反转,然后整体反转,比如2这种情况我们把前面5个反转,后面2个反转之后的结果是5 4 3 2 1 7 6然后整体反转是6 7 1 2 3 4 5,我们写一个方法来实现这个操作*/reverse(nums, 0, nums.length - k - 1);reverse(nums, nums.length - k, nums.length-1);reverse(nums, 0, nums.length - 1);}public void reverse(int[] nums, int start, int end) {while(start <= end) {swap(nums, start ++, end --);}}public void swap(int[] nums, int i, int j) {int temp = nums[i];nums[i] = nums[j];nums[j] = temp;}
}

算法的时间复杂度是O(N),应该算是最低时间复杂度了,但是不知道为啥没有才超过了这么点人


http://www.ppmy.cn/server/102052.html

相关文章

oracle使用sql生成表结构文档

oracle使用sql生成表结构文档 背景 客户要求数据资产盘点,需要提供相关表字段的说明文档&#xff0c;指定具体格式。手动是不可能手动的&#xff0c; 使用SQL实现。 要求 实现 生成脚本sql 查询所有非临时表 SELECT table_name FROM all_tables WHERE temporary N;--默认…

sp-eric靶机

端口扫描 靶机ip地址为192.168.7.46 目录扫描 访问80端口 拼接访问 /admin.php 发现登录框 测试sql注入&#xff0c;弱口令等&#xff0c;无结果 扫描目录发现了.git文件&#xff0c;存在源码泄漏 将其下载到kali上读取 python2 GitHack.py -u http://192.168.7.180/.git/…

深入探索CANoe的CAPL语言

概述 在汽车电子和嵌入式系统开发领域&#xff0c;仿真和测试是确保功能正确性和性能标准的关键步骤。Vector公司的CANoe软件是这一领域的佼佼者&#xff0c;它提供了一个强大的平台&#xff0c;用于模拟、测试和分析汽车网络&#xff0c;特别是CAN网络。今天&#xff0c;我们…

无人机电池详解!!!

娱乐型和玩具型无人机 这类无人机的电池容量通常较小&#xff0c;以满足短时间娱乐飞行的需求。电池容量范围一般在500mAh至3000mAh之间&#xff0c;轻便、易携带&#xff0c;适合初学者和休闲玩家。 航拍无人机 普通航拍无人机追求高续航能力&#xff0c;电池容量一般在500…

玩转单例模式

目录 1. 饿汉式 2. 懒汉式 3. volatile解决指令重排序 4. 反射破坏单例模式 5. 枚举创建单例模式 所谓单例模式&#xff0c;就是是某个类的实例对象只能被创建一次&#xff0c;单例模式两种实现&#xff1a;饿汉式和懒汉式。 1. 饿汉式 所谓饿汉式&#xff0c;顾名思义…

Lambda表达式与流式编程

一、Lambda表达式 1.1 什么是lambda表达式 Lambda表达式是 jdk1.8 引入的一个新特性&#xff0c;它是函数式编程在Java中的一种体现。也是1.8最值得学习的新特性。 1. Lambda表达式实际上就是匿名内部类的简化版本。 2. Lambda表达式是jdk1.8引入的一个最重要的新特性&…

VUE(一)——nextTick

DOM更新循环结束后执行延迟回调&#xff0c;在数据修改以后立即使用该方法可获取更新后的DOM。 &#xff08;*问题1&#xff09;DOM更新循环&#xff1f; VUE中使用异步执行DOM更新&#xff0c;在修改数据之后视图不会立即更新&#xff0c;而是等同一事件循环中的所有数据变化…

Java后端面试题(mq相关)(day9)

目录 为什么用MQ&#xff1f; 异步 、削峰、解耦1. 异步处理2. 解耦3. 削峰填谷 Exchange类型什么是死信队列&#xff1f;如何保证消息的可靠性&#xff1f;RabbitMQ中如何解决消息堆积问题?RabbitMQ中如何保证消息有序性?如何防止消息重复消费&#xff1f;(如何保证消息幂等…

ARM——体系结构

计算机体系结构&#xff1a;冯诺伊曼 哈佛 冯诺依曼结构 冯诺依曼结构&#xff0c;也称冯诺依曼模型或普林斯顿结构&#xff0c;是根据冯诺依曼提出的存储程序概念设计的计算机体系结构。其主要特点包括&#xff1a; 存储程序&#xff1a;指令与数据都…

嵌入式 | 嵌入式 Linux 系统使用摄像头

点击上方"蓝字"关注我们 01、引言 >>> 在嵌入式 Linux 系统使用摄像头 俗话说“眼见为实”,这或许是为什么近年来摄像头在嵌入式系统上快速增长的原因。它们被用于不同的场景,如: 远程监控:典型的例子是闭路电视,监控人员在监视环境(或许你所在的大楼…

web开发环境搭配与创建javaee项目

一.web开发 (1)web开发指的是前端,后端,以及数据库进行交互&#xff0c;前端发送请求到后端&#xff0c;后端经过程序处理后到达数据库&#xff0c;最后在进行后端处理响应回前端。 (2)一次三端交互的doget或者dopost简单请求流程 (3)web开发除了需要前端,后端,数据库开发工具…

C#垃圾处理机制相关笔记

C#编程中的垃圾处理机制主要通过垃圾回收器&#xff08;Garbage Collector&#xff0c;GC&#xff09;实现自动内存管理。C#作为一种托管语言&#xff0c;其垃圾处理机制显著减轻了程序员的内存管理负担&#xff0c;与C语言等非托管语言形成鲜明对比。具体介绍如下&#xff1a;…

ElasticSearch相关知识点

ElasticSearch中的倒排索引是如何工作的&#xff1f; 倒排索引是ElasticSearch中用于全文检索的一种数据结构&#xff0c;与正排索引不同的是&#xff0c;正排索引将文档按照词汇顺序组织。而倒排索引是将词汇映射到包含该词汇的文档中。 在ElasticSearch中&#xff0c;倒排索…

ArrayList 和 LinkedList 的区别是什么

数据结构实现&#xff1a;ArrayList 是动态数组的数据结构实现&#xff0c;而 LinkedList 是双向链表的数据结构实现。随机访问效率&#xff1a;ArrayList 比 LinkedList 在随机访问的时候效率要高&#xff0c;因为 LinkedList 是线性的数据存储方式&#xff0c;所以需要移动指…

greenplum授权

1. 表空间&#xff08;Tablespace&#xff09; CREATE&#xff1a;创建表空间权限USAGE&#xff1a;使用表空间权限 在Greenplum数据库中&#xff0c;表空间&#xff08;Tablespace&#xff09;是用于存储数据库对象的物理位置。以下是表空间相关的授权和相应的语法&#xff…

精武杯的部分复现

标红的为答案 计算机手机部分 1、请综合分析计算机和⼿机检材&#xff0c;计算机最近⼀次登录的账户名是&#xff1f;admin 2.请综合分析计算机和⼿机检材&#xff0c;计算机最近⼀次插⼊的USB存储设备串号是?S3JKNX0JA05097Y 3.请综合分析计算机和⼿机检材&#xff0c;谢弘…

《数据中心网络架构与技术》第七章构建数据中心的逻辑网络

Overlay网络 &#xff0c;Overlay网络即通过在现有Underlay网络上叠加一个软件定义的逻辑网络&#xff0c;解决数据中心网络中诸如大规模虚拟机之间二层互通的问题。 Overlay网络和Underlay网络完全解耦&#xff0c;将网络虚拟化并构建出面向应用的自适应逻辑网络&#xff0c…

Isaac Sim 11 粒子

注意&#xff1a;omni.particle.system.core 目前正在进行大量更改。使用现有扩展构建的系统需要在 USD Composer 2023.2 版本中。 1.打开粒子扩展 2. 设置透明度 如果材质中使用的图像具有一定范围的透明度&#xff0c;需要启用Fractional Cutout Opacity&#xff08;位置在第…

看demo学算法之 线性回归模型

嗨&#xff01;今天我们来聊聊如何用Python构建一个简单的线性回归模型。这个过程就像给数据配对舞一样&#xff0c;让它们在舞池里找到最佳位置。准备好了吗&#xff1f;让我们开始吧&#xff01;&#x1f680; 第一步&#xff1a;数据准备 首先&#xff0c;我们要准备一些数…

山西大同大学学生公寓管理系统boot--论文pf

TOC springboot455山西大同大学学生公寓管理系统boot--论文pf 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科…