轮转数组(每日一题)
“路虽远,行则将至”
❤️主页:小赛毛
☕今日份刷题:轮转数组
题目链接:轮转数组
题目描述:
给定一个整数数组
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:
如:
[1,2,3,4,5,6,7]|| [7,6,5,4,3,2,1] 挪动一个数据 右旋一次 合计右旋k次
- 时间复杂度:
O(K*N)or O(N^2)- 空间复杂度:O(1)
方法2:
(空间换时间)
如:
[1,2,3,4,5,6,7] k = 3|| (直接把后k个copy过来) [5,6,7]|| (再把前n-k个copy到后面) [5,6,7,1,2,3,4]
- 时间复杂度:O(N)
- 空间复杂度:O(N)
方法3:
如:
[1,2,3,4,5,6,7] k = 3|| (前n-k个逆置) [4,3,2,1,5,6,7]|| (后k个逆置) [4,3,2,1,7,6,5]|| (整体逆置) [5,6,7,1,2,3,4]
- 时间复杂度:O(N)
- 空间复杂度:O(1)
由于第三种方法可能没有那么容易思考到,所以我们这里只简单操作一下第二种方法:
代码:
void rotate(int* nums, int numsSize, int k){int*tmp=(int*)malloc(sizeof(int)*numsSize);int n=numsSize;k%=n;memcpy(tmp,nums+n-k,sizeof(int)*k);memcpy(tmp+k,nums,sizeof(int)*(n-k));memcpy(nums,tmp,sizeof(int)*(n));free(tmp);
}
相关文章:
轮转数组(每日一题)
“路虽远,行则将至” ❤️主页:小赛毛 ☕今日份刷题:轮转数组 题目链接:轮转数组 题目描述: 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例1: 输入…...
jmeter使用步骤
jmeter 使用步骤 1,进入jmeter目录中的bin目录,双击jmeter.bat 打开 2,右键test plan 创建线程组 3,配置线程组参数 4,右键刚刚创建的线程组,创建请求,填写请求地址 5,需要携带to…...
Ts中泛型的理解与使用
一、什么是泛型 在定义函数,定义接口或定义class类的时候,不先规定其类型,在使用的时候进行定义类型。 二、使用 1、定义函数: // 函数类型 function AA<T>(arg:T):T{return arg } AA<number>(1) AA<string>…...
uniapp使用eatchs雷达图
引入插件 <template><view class"page"><view class"AllBox"><view class"topTit">标题</view><view class"leftTit">对比分析</view><view class"tableBox"><view cl…...
PostgreSQL jsonb
PostgreSQL jsonb jsonb 函数以及操作符 在PostgreSQL中,有许多用于处理JSONB数据类型的内置函数和操作符。下面列出了一些常用的JSONB函数和操作符: jsonb_pretty(jsonb) 该函数将JSONB数据格式化为易读的多行字符串。jsonb_typeof(jsonb) 该函数返回…...
Spring系列四:AOP切面编程
文章目录 💗AOP-官方文档🍝AOP 讲解🍝AOP APIs 💗动态代理🍝初始动态代理🍝动态代理深入🍝AOP问题提出📗使用土方法解决📗 对土方法解耦-开发最简单的AOP类📗…...
VS+Qt+C++旅游景区地图导航源码实例
程序示例精选 VSQtC旅游景区地图导航 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对<<VSQtC旅游景区地图导航>>编写代码,代码整洁,规则,易读。…...
回调函数和一般函数的区别
回调函数:不是我能控制的,通过外界信号触发调用,例如下面是chatter 一般函数:我能控制的,顺序调用...
使用vite创建Vue/React前端项目,配置@别名和Sass样式,又快又方便
Vite官方网站:Vite | 下一代的前端工具链 Vite 并不是基于 Webpack 的,它有自己的开发服务器,利用浏览器中的原生 ES 模块。这种架构使得 Vite 比 Webpack 的开发服务器快了好几个数量级。Vite 采用 Rollup 进行构建,速度也更快…...
从前序与中序遍历序列构造二叉树,从中序与后序遍历序列构造二叉树
目录 从前序与中序遍历序列构造二叉树从中序与后序遍历序列构造二叉树 从前序与中序遍历序列构造二叉树 题目链接 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返…...
【JS常见数据结构】
JS数据结构 前言数组JavaScript 中数组的常见操作:1. 创建数组:2. 访问数组元素:3. 插入元素:4. 删除元素:5. 查询元素: 链表单向链表双向链表循环链表 栈队列树二叉树示例 图图的定义图的分类图的表示方法…...
算法基础之插入排序
1、插入排序基本思想 插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序)&a…...
InfoQ 分享
...
Jupyter Notebook 遇上 NebulaGraph,可视化探索图数据库
在之前的《手把手教你用 NebulaGraph AI 全家桶跑图算法》中,除了介绍了 ngai 这个小工具之外,还提到了一件事有了 Jupyter Notebook 插件: https://github.com/wey-gu/ipython-ngql,可以更便捷地操作 NebulaGraph。 本文就手把手教你咋在 J…...
人类与机器的分类不同
分类能力也是智能的重要标识之一。通过分类,我们可以将事物或概念进行归类和组织,从而更好地理解和处理信息。分类在人类认知和智能发展中起到了重要的作用,它有助于我们对世界进行认知、记忆、推理和决策。在机器智能领域,分类同…...
WEB安全-SQL注入,CSRF跨站伪造,OXX跨站脚本
SQL 注入攻击 SQL 注入是一种网络攻击手段,攻击者通过在 Web 应用程序的输入字段中插入恶意 SQL 代码,试图访问、篡改或删除数据库中的数据。这种攻击通常发生在应用程序未对用户输入进行充分验证或过滤的情况下。 举个例子,例如,…...
【HDFS】客户端读某个块时,如何对块的各个副本进行网络距离排序?
本文包含如下内容: ① 通过图解+源码分析/A1/B1/node1和 /A1/B2/node2 这两个节点的网络距离怎么算出来的 ② 客户端读文件时,副本的优先级。(怎么排序的,排序规则都有哪些?) ③ 我们集群发现的一个问题。 客户端读时,通过调用getBlockLocations RPC 获取文件的各个块。…...
【数字化处理】仿生假体控制中肌电信号的数字化处理研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
谷歌推出Flax:JAX的神经网络库
在优化理论中,损失或成本函数测量拟合或预测值与实际值之间的距离。对于大多数机器学习模型,提高性能意味着最小化损失函数。 但对于深度神经网络,执行梯度下降以最小化每个参数的损失函数可能会消耗大量资源。传统方法包括手动推导和编码&a…...
PDF换行的难度,谁能解决?
换行的时候确认不了长度: import java.awt.*;public class Test {public static void main(String[] args) {String str1 "淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘";String str2 "AAAAAAAAAAAAAAAAAAAAAAAAA…...
钙钛矿材料的“电控开关“:罗格斯大学实现光发射强度近100%调节
这项由美国罗格斯大学物理与天文系以及英国帝国理工学院化学系联合开展的研究发表于2026年3月17日,研究成果展现了一种全新的光电器件控制方式。感兴趣深入了解的读者可以查阅完整论文获取更多技术细节。如果把发光材料比作一个可调光的台灯,那么传统方法…...
嵌入式C语言开发核心要点与优化策略
1. 嵌入式C语言开发的核心差异在通用计算机领域,C语言往往被视为一种"中级语言",但在嵌入式系统中,它却是当之无愧的王者。我从事嵌入式开发已有八年,从智能家居到工业控制,C语言始终是项目的主力语言。与桌…...
【数据结构】森林与二叉树的双向转换:原理、步骤与实例
在数据结构的树型结构中,森林与二叉树的转换是一个非常核心的知识点,它不仅是树的存储、遍历的基础,也是很多算法实现的关键。今天我们就从原理、步骤、实例三个维度,彻底搞懂这个转换规则,顺便把树转二叉树的前置知识…...
车间老司机手记】折腾S7-200那点事儿:当电子秤遇上搅拌机
74#基于西门子S7-200PLC的物料自动称量控制系统称重配料物料混合程序组态设计组态设计组态王设计plc程序设计去年车间里那套老掉牙的称重设备终于退休了,新接的活是要用S7-200搞个自动配料系统。摸着良心说,这PLC虽说是爷爷辈的型号,但架不住…...
Go测试框架与基准测试
Go测试框架与基准测试:高效代码质量的守护者 在软件开发中,测试是确保代码质量的关键环节。Go语言凭借其简洁高效的特性,内置了强大的测试工具链,包括单元测试框架和基准测试功能。无论是验证逻辑正确性,还是评估性能…...
5个实战案例解析:如何用VLA模型让机器人听懂人话并执行任务(附开源项目推荐)
5个实战案例解析:如何用VLA模型让机器人听懂人话并执行任务(附开源项目推荐) 当机器人能像人类助手一样理解"把茶几上的遥控器拿过来"这样的日常指令时,具身智能才真正开始改变我们的生活。视觉-语言-动作(V…...
PicoBricks-for-ESP32库详解:面向教育的ESP32硬件抽象封装
1. 项目概述PicoBricks-for-ESP32 是 Robotistan 官方发布的 Arduino 兼容库,专为 ESP32 微控制器平台设计,用于驱动 PicoBricks 教育开发板。该库并非通用硬件抽象层,而是面向特定硬件拓扑的垂直集成方案——其核心价值在于将 PicoBricks 板…...
EthernetClientSecure深度指南:ESP32嵌入式TLS安全通信实战
1. EthernetClientSecure 库深度解析:面向嵌入式工程师的 TLS/SSL 安全以太网通信实践指南EthernetClientSecure 是一款专为 Arduino/ESP32 平台设计的轻量级、高可靠性安全以太网客户端库。它并非简单封装,而是通过精密的分层架构,在资源受限…...
Gin-JWT安全最佳实践:OAuth 2.0标准与256位密钥配置完整指南
Gin-JWT安全最佳实践:OAuth 2.0标准与256位密钥配置完整指南 【免费下载链接】gin-jwt JWT Middleware for Gin framework 项目地址: https://gitcode.com/gh_mirrors/gi/gin-jwt 在Go语言的Gin框架中实现安全的JWT认证系统需要遵循行业最佳实践。gin-jwt作为…...
城通网盘解析终极指南:如何免费获取高速直连下载地址
城通网盘解析终极指南:如何免费获取高速直连下载地址 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 在数字化信息时代,城通网盘作为国内广泛使用的文件分享平台,却因…...
