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

【C++】每日一练(轮转数组)

 

本篇博客给大家带来的是用C++语言来解答轮转数组!

🐟🐟文章专栏:每日一练

🚀🚀若有问题评论区下讨论,我会及时回答

❤❤欢迎大家点赞、收藏、分享!

今日思想:不服输的少年啊,请你再努力一下!

题目描述:

方法1: 三次逆置

思路:下图这种思路不是一般人能想出来的,大家知道就行。

代码实例:

#define _CRT_SECURE_NO_WARNINGS 1
void reverse(int* nums, int left,int right)
{while ((left < right){int  tmp = nums[left];nums[left] = nums[right];nums[right] = tmp;left++;right--;}
}
void rotate(int* nums, int numsSize, int k) {k = k % numsSize;//防止k>numsSize//前numsSize-k个数据逆置reverse(nums, 0, numsSize - k - 1);//第一次逆置//后k个数据逆置reverse(nums, numsSize - k, numsSize - 1);//第二次逆置//整体逆置reverse(nums, 0, numsSize - 1);
}

方法2:创建新数组 

思路:先创建新数组,然后把轮转k次的数组放到临时数组中去,最后再放回去。

代码实例:

void rotate(int* nums, int numsSize, int k) {//创建新数组int newArr[numsSize];//向右轮转k次并保存在临时数组中for(int i=0;i<numsSize;i++){newArr[(i+k)%numsSize]=nums[i];}//把临时数组的值放回去for(int i=0;i<numsSize;i++){nums[i]=newArr[i];}
}

完!

相关文章:

【C++】每日一练(轮转数组)

本篇博客给大家带来的是用C语言来解答轮转数组&#xff01; &#x1f41f;&#x1f41f;文章专栏&#xff1a;每日一练 &#x1f680;&#x1f680;若有问题评论区下讨论&#xff0c;我会及时回答 ❤❤欢迎大家点赞、收藏、分享&#xff01; 今日思想&#xff1a;不服输的少年啊…...

Java 反射机制学习

Java 反射机制详解 Java 反射&#xff08;Reflection&#xff09;是 Java 语言的一种强大特性&#xff0c;允许程序在运行时动态地获取类的信息并操作类或对象的属性、方法和构造器。反射机制打破了 Java 的封装性&#xff0c;但也提供了极大的灵活性&#xff0c;常用于框架开…...

GetCurrentTime

在实际编程中难免要获取当前时间并且进行格式化&#xff0c;本文给出了多种 GetCurrentTime() 方法以供选择。 C语言下使用strftime C 语言中可以使用 <time.h> 中的函数来获取和格式化时间 #include <stdio.h> #include <time.h>char* getCurrentTime() …...

计算机的结构形式

微机的机构形式 台式个人微机 最开始的微机&#xff08;计算机&#xff09;都是台式的&#xff0c;到目前为止仍是个人微机的主要形式。台式机按照电脑机箱的放置形式&#xff0c;分为卧式和立式两种。台式机需要放在桌面上或者留有专门放置机箱位置&#xff0c;他的主机、键…...

SSL/TLS 1.2过程:Client端如何验证服务端证书?

快速回顾非对称加密和对称加密 首先快速说一下非对称加密和对称加密。非对称加密&#xff0c;就是有一个公钥和私钥(成对存在)。 公钥对一段文本A加密得到文本B&#xff0c;只有对应的私钥能对B解密得到A。 私钥对一段文本C加密得到文本D&#xff0c;只有对应的公钥能对D解密得…...

Python(学习一)

做网站有成熟的框架像FLASK、DJANGO、TORNADO&#xff0c;写爬虫有好用到哭的REQUESTS&#xff0c;还有强大到没盆友的SCRAPY 随着NUMPY、SCIPY、MATLOTLIB等众多第三方模块的开发和完善&#xff0c;不仅支持py支持各种数学运算&#xff0c;还可以绘制高质量的2D和3D图像&…...

Java中类和对象

类和对象 面向对象的认识类的定义和使用1 类的定义2 类的创建3 类的实例化 构造方法1 构造方法的概念2 构造方法的注意事项 this关键字 面向对象的认识 前言 何为面向对象何为面向过程呢&#xff1f;&#xff0c;C语言是最经典的面向过程的语言,但是C语言虽然可以解决一定的问…...

文本组件+Image组件+图集

Canvas部分知识补充 元素渲染顺序 以Hierarchy参考 下方物体在上方物体前显示 子物体在父物体前显示 下方物体永远在前显示&#xff0c;无论上方的层次结构 资源导入 绝对路径&#xff1a;C:\Windows\Fonts下的许多字体可以用做UIText的字体资源 图片导入&#xff1a; 1.图…...

Audacity 技术浅析(一)

Audacity 是一个开源的音频编辑工具&#xff0c;虽然它主要用于音频编辑和处理&#xff0c;但也可以通过一些插件和功能实现基本的音频生成功能。 1. Audacity 的音频生成基础 Audacity 的音频生成主要依赖于其内置的生成器、效果器以及 Nyquist 编程语言。这些工具允许用户创…...

PyCharm 2019.1.3使用python3.9创建虚拟环境setuptools-40.8.0报错处理

目录 前置&#xff1a; 一劳永逸方法&#xff08;缺最后一步&#xff0c;没有成行&#xff09; step one: 下载高版本的pip、setuptools、virtualenv的tar.gz包 step two: 进入PyCharm安装目录的 helpers 目录下 step three: 下载并安装grep和sed命令&#xff0c;然后执行 …...

敏捷开发在中小团队中的应用与挑战:实战指南与避坑手册

文章目录 敏捷开发在中小团队中的应用与挑战&#xff1a;实战指南与避坑手册引言&#xff1a;为什么中小团队更需要敏捷&#xff1f;一、敏捷开发适配中小团队的底层逻辑1.1 中小团队的典型特征1.2 敏捷开发的价值放大器效应 二、敏捷实施的五大实战步骤2.1 团队定制化改造&…...

服务器部署RocketMQ----Docker方式

拉取镜像并创建docker network 按照官方文档提供的方式拉取镜像&#xff1a;docker pull apache/rocketmq:4.9.6 创建一个docker网络&#xff1a;docker network create rocketmq 启动NameServer以及Broker 启动NameServer # 启动NameServer docker run -d --name rmqnames…...

【推荐项目】052-用水监控管理系统

052-用水监控管理系统 介绍 用水监控管理系统 springboot java vuejs jdk1.8 当然&#xff0c;以下是一个简洁的用水监控管理系统的功能模块划分&#xff0c;基于Spring Boot&#xff08;JDK 1.8&#xff09;后端和Vue.js前端&#xff1a; 用水监控管理系统功能模块 后端&…...

零基础上手Python数据分析 (2):Python核心语法快速入门

写在前面 场景:每周销售数据报表整理 任务描述: 你需要每周从多个Excel文件中汇总销售数据,计算各项指标(销售额、订单量、客单价等),并生成周报。Excel操作痛点: 文件太多,手动打开复制粘贴,效率低下,容易出错。 多个Excel文件,每个都要打开、筛选、复制数据,重复…...

大模型MCP协议与Function Calling:构建更智能的AI生态系统

随着大型语言模型&#xff08;LLM&#xff09;的快速发展&#xff0c;如何高效地将这些模型与外部数据源、工具和服务进行集成&#xff0c;成为了一个亟待解决的问题。Anthropic推出的Model Context Protocol&#xff08;MCP协议&#xff09;和Function Calling技术为此提供了有…...

【C++】RAII机制

什么是RAII机制&#xff1f; RAII&#xff08;Resource Acquisition Is Initialization&#xff09;是 C 中的一种重要编程范式&#xff0c;用于管理资源&#xff08;如内存、文件句柄、网络连接等&#xff09;的生命周期。 RAII 的核心思想是&#xff1a;资源的获取与初始化绑…...

游戏引擎学习第160天

回顾和今天的计划 我们没有使用任何游戏引擎和库&#xff0c;完全靠我们自己&#xff0c;使用的是老式的编程方式。 我们已经构建了很多内容&#xff0c;游戏引擎开发也慢慢接近尾声。现在我们已经接近完成了所有为支持游戏开发所需要的工作&#xff0c;接下来将逐步过渡到游戏…...

Webpack 知识点整理

​ 1. 对 webpack 的理解&#xff1f;解决了什么问题&#xff1f; Webpack 是前端工程化领域的核心工具&#xff0c;其核心定位是模块打包器&#xff08;Module Bundler&#xff09;&#xff0c;通过将各类资源&#xff08;JS、CSS、图片等&#xff09;视为模块并进行智能整合…...

从零搭建微服务项目Pro(第2-2章——JSR303自定义文件校验+整合至微服务公共模块)

前言&#xff1a; JSR 303&#xff0c;即 Bean Validation&#xff0c;是 Java EE 6 中的一项子规范&#xff0c;旨在为 Java Bean 提供一种标准化的数据验证机制。它通过注解的方式&#xff0c;允许开发者在 Java 类的字段或方法上直接定义验证规则&#xff0c;从而将验证逻辑…...

如何用URDF文件构建机械手模型并与MoveIt集成

机械手URDF文件的编写 我们用urdf文件来描述我们的机械手的外观以及物理性能。这里为了简便&#xff0c;就只用了基本的圆柱、立方体了。追求美观的朋友&#xff0c;还可以用dae文件来描述机械手的外形。 import re def remove_comments(text):pattern r<!--(.*?)-->…...

uv pip install -r requirements.txt-报错,python版本过低

升级Python版本&#xff08;推荐&#xff09; browser-use0.1.40 需要 Python ≥3.11&#xff0c;但你的环境是 Python 3.10.12。升级Python版本是最直接的解决方案&#xff1a; 安装Python 3.11&#xff1a; 使用 pyenv&#xff08;Linux/macOS&#xff09;&#xff1a;pyenv…...

【训练细节解读】文本智能混合分块(Mixtures of Text Chunking,MoC)引领RAG进入多粒度感知智能分块阶段

喜欢本文可以在主页订阅专栏哟 核心创新&#xff1a;双重评估指标与混合分块架构&#xff1a; 第一章&#xff1a;检索增强生成&#xff08;RAG&#xff09;技术演进与分块挑战 1.1 RAG架构的核心演变 检索增强生成&#xff08;Retrieval-Augmented Generation&#xff09…...

招聘信息|基于SprinBoot+vue的招聘信息管理系统(源码+数据库+文档)

招聘信息管理系统 目录 基于SprinBootvue的招聘信息管理系统 一、前言 二、系统设计 三、系统功能设计 5.1系统功能模块 5.2管理员功能模块 5.3企业后台管理模块 5.4用户后台管理模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、…...

HCIA-AI人工智能笔记1:大模型技术演进与发展历程

一、大模型发展的技术演进图谱 timelinetitle 大模型发展关键里程碑1958 : 感知机模型诞生&#xff08;Frank Rosenblatt&#xff09;1986 : BP反向传播算法&#xff08;Rumelhart&#xff09;2012 : AlexNet开启深度学习时代2017 : Transformer架构提出&#xff08;《Attenti…...

躲藏博弈中的策略优化:整合历史数据、概率论与博弈论

躲藏博弈中的策略优化&#xff1a;整合历史数据、概率论与博弈论 一、引言 躲藏博弈(Hiding Games)作为一类特殊的博弈模型&#xff0c;广泛存在于军事对抗、网络安全、商业竞争甚至日常生活中。其核心在于一方(躲藏者)试图避免被另一方(寻找者)发现&#xff0c;双方各自选择…...

C语言,记录一次局部变量被意外修改的问题

背景:单片机开发过程中,我在函数体内(begin_face_record)定义了一个局部变量data_length,在使用的时候,该局部变量一直别改变,每次调用其他函数,例如c库里面的函数memcpy,不知什么情况data_length值就会被改变。 1、源码分析 void main(void) { init_gpio();init_fa…...

机器学习——正则化、欠拟合、过拟合、学习曲线

过拟合&#xff08;overfitting&#xff09;:模型只能拟合训练数据的状态。即过度训练。 避免过拟合的几种方法&#xff1a; ①增加全部训练数据的数量&#xff08;最为有效的方式&#xff09; ②使用简单的模型&#xff08;简单的模型学不够&#xff0c;复杂的模型学的太多&am…...

在微信小程序或前端开发中,picker 和 select 都是用户交互中用于选择的组件,但它们在功能、设计和使用场景上有一定的区别

在微信小程序或前端开发中&#xff0c;picker 和 select 都是用户交互中用于选择的组件&#xff0c;但它们在功能、设计和使用场景上有一定的区别。 1. picker 的特点 描述&#xff1a; picker 是微信小程序中的原生组件&#xff0c;通常用于选择单项或多项值&#xff0c;如时…...

向量数据库对比以及Chroma操作

一、向量数据库与传统类型数据库 向量数据库&#xff08;Vector Storage Engine&#xff09;与传统类型的数据库如关系型数据库&#xff08;MySQL&#xff09;、文档型数据库&#xff08;MongoDB&#xff09;、键值存储&#xff08;Redis&#xff09;、全文搜索引擎&#xff0…...

Python Matplotlib面试题精选及参考答案

绘制函数 y2x5 在区间 [1,10] 的折线图&#xff0c;设置标题和坐标轴标签 要绘制函数 y 2x 5 在区间 [1, 10] 的折线图&#xff0c;并设置标题和坐标轴标签&#xff0c;可借助 Python 的 matplotlib 库来实现。以下是详细的实现步骤与代码示例。 首先&#xff0c;要导入 mat…...