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

每日算法题 13---189.轮转数组

题目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] 示例 2: 输入nums [-1,-100,3,99], k 2 输出[3,99,-1,-100] 解释: 向右轮转 1 步: [99,-1,-100,3] 向右轮转 2 步: [3,99,-1,-100]思路1使用新数组我们可以使用额外的数组来将每个元素放至正确的位置新数组元素规则将原数组下标为i的元素放至新数组下标为ikmod n的位置最后将新数组拷贝值原数组即可可以知道创建新数组要申请空间因此该思路的空间复杂度为On又因为用到了for循环因此时间复杂度为On代码1class Solution { public void rotate(int[] nums, int k) { int n nums.length; int[] newArr new int[n]; for (int i 0; i n; i) { newArr[(i k) % n] nums[i]; } System.arraycopy(newArr, 0, nums, 0, n); } }思路2数组反转我们可以先将所有元素反转这样尾部 k mod n 个元素就被移至数组头部然后我们再反转[0,kmodn−1] 区间的元素和 [kmodn,n−1] 区间的元素即能得到最后的答案。举一个例子n7k3代码2class Solution { public void rotate(int[] nums, int k) { k % nums.length; reverse(nums, 0, nums.length - 1); reverse(nums, 0, k - 1); reverse(nums, k, nums.length - 1); } public void reverse(int[] nums, int start, int end) { while (start end) { int temp nums[start]; nums[start] nums[end]; nums[end] temp; start 1; end - 1; } } }小舟有话说如果觉得有帮助那就点点赞点点关注吧~

相关文章:

每日算法题 13---189.轮转数组

题目 189.轮转数组 要求 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 进阶:尽可能想出更多的解决方案,至少三种 示例 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: …...

别再让PS卡死你的电脑!这款轻量级免费修图神器,强大到离谱!

如果你也经历过Photoshop卡到崩溃、电脑风扇狂转的绝望时刻,那么今天这篇文章,就是专门为你准备的。 一款轻量级、完全免费、功能却强大到媲美PS的图像处理软件——Paint.NET v5.1.12,来了! 界面像PS,操作顺手 熟悉的…...

声纳检测深度学习全流程:原理、训练与系统集成指南

目录 第一章:MLO检测系统基础与数据工程 1.1 水雷样物体(MLO)检测技术概述 1.1.1 侧扫声纳(Side Scan Sonar)与合成孔径声纳(SAS)成像原理 1.1.2 深度学习在MLO检测中的技术演进 1.2 数据集构建与预处理工程 1.2.1 训练数据分布设计(Data Distribution Strategy)…...

国产博冠摄像机即将发布新品?

国产博冠摄像机即将发布新品?...

3步解锁经典字体:EB Garamond 12开源获取与全场景应用指南

3步解锁经典字体:EB Garamond 12开源获取与全场景应用指南 【免费下载链接】EBGaramond12 项目地址: https://gitcode.com/gh_mirrors/eb/EBGaramond12 【价值定位】:文艺复兴印刷美学的现代传承 EB Garamond 12字体家族以1592年康拉德贝纳的原始…...

java微信小程序的会议室预约系统的设计与实现

目录需求分析技术选型数据库设计关键功能实现微信集成测试与部署扩展优化项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析 明确系统核心功能,包括用户角色(普通用户、管…...

Bootstrap5实战:手把手教你打造炫酷游戏网站(附完整源码下载)

Bootstrap5实战:从零构建高性能游戏网站全流程解析 游戏行业正在经历前所未有的增长,一个专业且吸引人的网站已经成为游戏开发者和发行商的标配。对于前端开发者而言,掌握Bootstrap5这一利器,能够快速构建出既美观又功能强大的游戏…...

PCTG-9016应用案例——E+H PROMAG 50 DP电磁流量计与ModbusTCP监控系统对接

一、项目背景与需求项目现场有一台EH品牌PROMAG 50 DP型电磁流量计,设备配置PROFIBUS DP通信接口。需要将流量计的瞬时流量和累积流量数据接入监控系统,用于数据的监控和统计。项目中控端部署的监控系统采用ModbusTCP工业通信协议,因协议类型…...

7种交通场景目标检测数据集分享(适用于YOLO系列深度学习检测任务)

7种交通场景目标检测数据集分享(适用于YOLO系列深度学习检测任务) 源码下载链接:https://pan.baidu.com/s/1PxCazLxUVFdwrrsHKVYP8Q?pwdh48p 提取码:h48p 复制这段内容后打开百度网盘手机App,操作更方便哦在智能交通与自动驾驶技术快速发展的…...

电动船舶在线监测管理系统方案

在航运业向着绿色化发展的背景下,新能源电动船舶得到越来越广泛的应用,包括货物运输、客渡交通、港口作业、旅游观光等。存在灵活性、分散性等特点,长期处于移动状态,而电机、电池、BMS等设备缺乏监控管理手段,十分依赖…...

新能源汽车电池壳体孔深光学3D轮廓测量-激光频率梳3D轮廓技术

1 引言航空航天支架孔是飞行器结构连接、部件装配的核心精密结构,其孔深精度直接决定支架连接强度、装配协调性及结构稳定性,进而影响航空航天设备的飞行安全性与运行可靠性。传统测量技术如接触式探针测量易划伤孔壁精密表面及涂层,导致结构…...

告别Appium!用Python+facebook-wda搞定iOS自动化测试(保姆级环境搭建与实战)

Pythonfacebook-wda:iOS自动化测试的轻量级革命 为什么开发者正在抛弃Appium? 在iOS自动化测试领域,Appium长期占据主导地位,但近年来越来越多的工程师开始转向更轻量的解决方案。我曾参与过一个电商App的自动化测试项目&#x…...

如何备份红米手机短信(6 种行之有效的方法)

如果你的红米手机上的所有短信突然消失会怎么样?从重要的验证码到私人对话,短信在日常沟通中仍然扮演着至关重要的角色。因此,学习如何备份红米手机短信比以往任何时候都更加重要。本指南将向您展示 6 种实用可靠的 Redmi 手机短信备份方法&a…...

从邮件处理Agent入手:新手搭建AI智能体的真实代价与边界

先说结论邮件处理Agent看似低门槛,但真实部署涉及邮箱协议、错误处理和API成本,新手容易低估复杂度框架选择不是非此即彼,LangChain生态完善但学习曲线陡峭,低代码工具快速出原型但定制受限Agent的核心价值在于自主规划与工具调用…...

036-基于51单片机五子棋游戏机【Proteus仿真+Keil程序+报告+原理图】

一、核心硬件组成 系统硬件平台由51 单片机最小系统、LCD12864 液晶显示模块、按键控制模块构成,实现五子棋游戏的界面显示、模式选择、落子操控、胜负判定等核心功能。 二、主控芯片选型 选用STC89C51单片机作为主控芯片,负责解析按键指令、驱动 LCD128…...

【OpenClaw 全面解析:从零到精通】第 012 篇:OpenClaw 记忆系统与上下文管理——文件即真相的深度解析

系列说明:本系列共计 20 篇,全面介绍 OpenClaw 开源 AI 智能体框架,从历史背景到核心原理,从安装部署到应用生态。本文为系列第 012 篇,聚焦于 OpenClaw 独特的"文件即真相"记忆系统,深入解析其上…...

用 Spring AI Alibaba 打造智能查询增强引擎

用 Spring AI Alibaba 打造智能查询增强引擎 系列导读:在上一篇文章《基于 Spring AI Alibaba 构建混合 RAG Agent》中,我们描绘了一套融合“侦探的灵活”与“会计的严谨”的架构蓝图。其中,查询增强(Query Enhancement&#xff0…...

【OpenClaw 全面解析:从零到精通】第 011 篇:OpenClaw 多模型支持与接入配置:OpenAI、Claude、国产大模型全指南

系列说明:本系列共计 20 篇,全面介绍 OpenClaw 开源 AI 智能体框架,从历史背景到核心原理,从安装部署到应用生态。本文为系列第 011 篇,聚焦于 OpenClaw 的多模型接入配置体系,详解如何灵活接入并管理各类大…...

阿里云代理商:阿里云无影云电脑部署 OpenClaw 接入钉钉机器人全攻略

在数智化办公时代,将 AI 助手与办公工具深度集成已成为企业提效的关键。阿里云无影云电脑支持 OpenClaw 部署后,接入钉钉机器人可实现智能问答、任务处理等自动化场景。以下为详细接入指南,助您一步到位!一、准备工作阿里云无影云…...

北大数字普惠金融指数省市县2011-2024面板数据

北大数字普惠金融指数简介北大数字普惠金融指数由北京大学数字金融研究中心编制,旨在衡量中国各地区数字普惠金融发展水平。该指数覆盖省、市、县三级行政区,时间跨度为2011年至2024年,包含总指数及多个分维度指标(如覆盖广度、使…...

TikTok如何变现?2026主流变现方式全解析(从0到1)

TikTok已经成为全球最大的短视频平台之一,拥有超过15亿月活用户。对于个人、团队或商家来说,是一个重要的流量入口与变现场景。很多人卡在“有流量但不会变现”,或者“不知道从哪里开始”。这篇文章将从实际路径出发,梳理当前主流…...

AxureRP11实例-手机号提交验证交互功能JH110002

实例说明:这里提示一下,教程里的每个交互都是区别提示,实际可以放在一个条件下判定。根据自己的需求来调整即可。实例原理:对于 国内手机号的验证有以下几个条件:1、纯数字判定2、11位字符长度判定(已包含空…...

【收藏】网络安全接单渠道大揭秘:从零开始的项目获取指南

【收藏】网络安全接单渠道大揭秘:从零开始的项目获取指南 网络安全接单渠道包括:漏洞赏金平台(如补天、漏洞盒子)可获高奖金并积累声誉;IT兼职平台(如程序员客栈)提供担保保障;安全社区投稿可获稿费并吸引客户;CTF竞赛…...

ChatGPT开发实战:从API调用到生产级应用的最佳实践

ChatGPT开发实战:从API调用到生产级应用的最佳实践 最近在做一个需要集成智能对话能力的项目,直接调用ChatGPT的API时,遇到了不少“坑”。从简单的对话Demo到稳定可靠的生产级应用,中间需要跨越的鸿沟比想象中要大。今天就来分享…...

【深度解析】映翰通5G CPE02:赋能企业分支联网,打造高效灵活的分布式办公网络

为什么这款5G CPE正在成为连锁门店、分支机构和分布式团队的网络首选? 引言:分布式办公时代的网络挑战 在数字化转型加速的今天,企业组织形态正从集中式向分布式演进。连锁门店、分支机构、远程团队等分布式架构成为常态,但传统的…...

Chatbot界面开发实战:如何高效设置中文按钮名称

在开发面向中文用户的Chatbot界面时,按钮名称的设置看似简单,却常常成为项目后期维护的“阿喀琉斯之踵”。你是否也遇到过这样的场景:产品经理临时要求将“提交”按钮改为“确认提交”,或者为了A/B测试需要快速切换不同的按钮文案…...

靠谱的液体颗粒计数器选哪个型号

普洛帝(PULUODY)液体颗粒计数器在工业领域以高精度和可靠性著称,核心技术和传感器(如第八代双激光窄光检测器)是其品质的保证。选择哪款型号,主要取决于您的具体应用场景和预算。以下是几款主流型号的对比分…...

导师要“综”更要“述”?百考通AI不仅梳理文献,更提炼观点、指出争议

在高校学术写作中,文献综述是连接已有研究与创新探索的关键桥梁。它不仅体现作者对领域现状的掌握程度,更直接影响后续研究的深度与可行性。然而,对许多学生而言,撰写一篇专业、规范、有逻辑的综述常常令人望而却步——资料庞杂、…...

STP 生成树协议课程课后总结

今天的《STP 生成树协议》课程已圆满结束,课程承接此前以太网交换、VLAN 技术的二层知识体系,围绕二层环路的成因与危害、STP 协议的核心概念、工作原理、选举机制与工程化配置展开全面系统的讲解。通过本次学习,我彻底理解了二层冗余组网中环…...

我用 OpenClaw 做了一个“自动运维助手”,效率直接翻倍

最近在折腾 AI Agent 自动化运维,试了不少方案,最终稳定用下来的反而是一个比较冷门的组合:OpenClaw GMSSHGM Claw。 简单说一下我的使用场景: 每天自动巡检服务器状态 自动分析日志异常 定时推送报告到企业微信 一、为什么选…...