【LeetCode】LCR 139. 训练计划 I

题目

教练使用整数数组 actions 记录一系列核心肌群训练项目编号。为增强训练趣味性,需要将所有奇数编号训练项目调整至偶数编号训练项目之前。请将调整后的训练项目编号以 数组 形式返回。

示例 1:

输入:actions = [1,2,3,4,5]
输出:[1,3,5,2,4]
解释:为正确答案之一

提示:

0 <= actions.length <= 50000
0 <= actions[i] <= 10000


题解

本题目考虑定义双指针解决。指针 i,j 分列数组左右两端,循环执行:

  • 指针i从左向右寻找偶数;
  • 指针j从右向左寻找奇数;
  • 将偶数actions[i]和 奇数actions[j]交换。

这样可始终保证: 指针 i 左边都是奇数,指针 j 右边都是偶数 。

在这里插入图片描述

通过对2取余可判断是不是奇数,此处可以使用位运算来快速取余 actions[i] & 1

class Solution(object):def trainingPlan(self, actions):""":type actions: List[int]:rtype: List[int]"""i,j = 0, len(actions) - 1while i < j:while i < j and actions[i] % 2 == 1: i += 1while i < j and actions[j] % 2 == 0: j -= 1actions[i], actions[j] = actions[j], actions[i]return actions
  • 时间复杂度O(N): N为数组actions长度,双指针i,j共同遍历整个数组。
  • 空间复杂度O(1):双指针i,j使用常数大小的额外空间。

Reference

  1. https://leetcode.cn/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/solutions/115087/mian-shi-ti-21-diao-zheng-shu-zu-shun-xu-shi-qi-4

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

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

相关文章

波导阵列天线 学习笔记9 使用紧凑高效率馈网的宽带圆极化阵列天线

摘要&#xff1a; 一种宽带圆极化波导阵列天线在本文中提出。所提出的阵列天线包括四个反向对称的(antipodally)脊单元和一个有着插入阶梯腔体的两个正交膜片的紧凑型馈网。两个器件都是宽带的并且它们能独立地或者一起工作。所提出的拓扑给出了一种为大规模阵列的基础的2x2波导…

【AI战略思考15】我对做自媒体视频博主的初步探索和一些思考

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 导言 因为自己找工作可能没那么快和顺利&#xff0c;事实是比我之前想象的要难很多&#xff0c;所以这几天探索了下自己能否尝试做自媒体或者视频博主来尝试赚点钱&#xff0c;如果做…

nodejs:express + js-mdict 网页查询英汉词典,能显示图片

向 DeepSeek R1 提问&#xff1a; 我想写一个Web 前端网页&#xff0c;后台用 nodejs js-mdict , 实现在线查询英语单词&#xff0c;并能显示图片 1. 项目结构 首先&#xff0c;创建一个项目目录&#xff0c;结构如下&#xff1a; mydict-app/ ├── public/ │ ├── …

【数据分析】2.数据分析业务全流程

业务流程方法论&#xff1a;3阶段6步骤 一、课程核心内容结构 1. 方法论概述 目标&#xff1a;系统性地解决商业中的关键问题框架&#xff1a;分为三个阶段&#xff0c;每个阶段包含两个步骤适用场景&#xff1a;适用于数据分析师、业务经理等需要通过数据分析支持决策的从业…

【后端】k8s

1. 命令 1.1 获取service服务 获取集群内所有命名空间的service服务 sudo kubectl get service --all-namespaces 获取集群内指定命名空间的service服务 sudo kubectl get service -n命名空间 当权限限制到一个命名空间时,只能使用下面这个 sudo kubectl -n 命名空间 get se…

Mybatis MyBatis框架的缓存 一级缓存

1. 缓存的概念 缓存的概念 在内存中临时存储数据&#xff0c;速度快&#xff0c;可以减少数据库的访问次数。经常需要查询&#xff0c;不经常修改的数据&#xff0c;不是特别重要的数据都适合于存储到缓存中。 2.Mybatis缓存 mybatis包含了一个非常强大的查询缓存特性&#…

Linux csplit 命令实现日志文件的拆分

目录 一. 项目背景二. 通过 csplit 命令按照行数进行切割2.1 步骤分解验证2.2 直接拆分 三. 文件合并后与原文件进行diff3.1 通过 sed 命令进行合并3.2 通过 cat 命令进行合并 一. 项目背景 ⏹需要的问题 项目中需要获取某个war产生的log文件&#xff0c;由于是商用环境的log…

【EndNote】WPS 导入EndNote 21

写在前面&#xff1a;有没有人有激活码&#xff0c;跪求&#xff01; EndNote&#xff0c;在文献管理和文献引用方面很好用。写文章的时候&#xff0c;使用EndNote引入需要的文献会很方便。我目前用的WPS&#xff0c;想把EndNote的CWYW&#xff08;Cite While You Write&#…

嵌入式0xDEADBEEF

在嵌入式系统中&#xff0c;0xDEADBEEF 是一个常见的“魔数”&#xff08;magic number&#xff09;&#xff0c;通常用于调试和内存管理。它的含义和用途如下&#xff1a; 1. 调试用途 未初始化内存的标记&#xff1a;在调试时&#xff0c;0xDEADBEEF 常用于标记未初始化或已…

RT-Thread+STM32L475VET6实现红外遥控实验

文章目录 前言一、板载资源介绍二、具体步骤1. 确定红外接收头引脚编号2. 下载infrared软件包3. 配置infrared软件包4. 打开STM32CubeMX进行相关配置4.1 使用外部高速时钟&#xff0c;并修改时钟树4.2 打开定时器16(定时器根据自己需求调整)4.3 打开串口4.4 生成工程 5. 打开HW…

【HarmonyOS Next】鸿蒙应用进程和线程详解

【HarmonyOS Next】鸿蒙应用进程和线程详解 一、前言 进程的定义&#xff1a; 进程是系统进行资源分配的基本单位&#xff0c;是操作系统结构的基础。 在鸿蒙系统中&#xff0c;一个应用下会有三类进程&#xff1a; (1) 主进程&#xff0c; (2) ExtensionAbility进程&#xff…

迪威模型网:免费畅享 3D 打印盛宴,科技魅力与趣味创意并存

还在为寻找优质3D打印模型而发愁&#xff1f;快来迪威模型网&#xff08;https://www.3dwhere.com/&#xff09;&#xff0c;一个集前沿科技与无限趣味于一体的免费3D打印宝藏平台&#xff01; 踏入迪威模型网&#xff0c;仿佛开启一场未来科技之旅。其“3D打印”专区&#xff…

力扣LeetCode: 1287 有序数组中出现次数超过25%的元素

题目&#xff1a; 给你一个非递减的 有序 整数数组&#xff0c;已知这个数组中恰好有一个整数&#xff0c;它的出现次数超过数组元素总数的 25%。 请你找到并返回这个整数 示例&#xff1a; 输入&#xff1a;arr [1,2,2,6,6,6,6,7,10] 输出&#xff1a;6提示&#xff1a; …

一文看常见的消息队列对比

一、核心特性对比表 维度KafkaRabbitMQRocketMQPulsar架构设计分布式日志系统&#xff0c;依赖ZooKeeper基于AMQP协议的代理模型主从架构NameServer协调分层架构&#xff08;BrokerBookKeeper&#xff09;单机吞吐量100万 TPS5万 TPS50万 TPS150万 TPS消息延迟毫秒级&#xff…

Ubuntu USB耳机找不到设备解决

​ 一. 确定硬件连接 lsusb -t 插拔USB耳机&#xff0c;确定是否有USB识别到 二. 查看输出设备 sudo apt-get install pavucontrol pavucontrol 点击想要使用的输出设备后面的绿色选项 三. 输出设备没有USB耳机时调试 3.1 确认ALSA是否识别设备 列出ALSA播放设备&#…

[笔记.AI]如何判断模型是否通过剪枝、量化、蒸馏生成?

以下摘自与DeepSeek-R1在线联网版的对话 一、基础判断维度 技术类型核心特征验证方法剪枝模型参数减少、结构稀疏化1. 检查模型参数量是否显著小于同类标准模型1 2. 分析权重矩阵稀疏性&#xff08;如非零参数占比<30%&#xff09;4量化权重/激活值精度降低、推理速度提升1…

Redis如何解决热Key问题

目录 **如何解决 Redis 的热 Key&#xff08;Hot Key&#xff09;问题&#xff1f;****解决方案** **1. 使用多级缓存****方案** **2. 进行 Key 预分片&#xff08;Key Sharding&#xff09;****方案** **3. 使用 Redis 复制机制&#xff08;主从复制或集群&#xff09;****方案…

云计算架构学习之Ansible-playbook实战、Ansible-流程控制、Ansible-字典循环-roles角色

一、Ansible-playbook实战 1.Ansible-playbook安装软件 bash #编写yml [rootansible ansible]# cat wget.yml - hosts: backup tasks: - name: Install wget yum: name: wget state: present #检查playbook的语法 [rootansible ansible]…

【Web前端开发精品课 HTML CSS JavaScript基础教程】第二十四章课后题答案

文章目录 问题1&#xff1a;问题2&#xff1a;问题3&#xff1a; 问题1&#xff1a; 在HTML中嵌入JavaScript&#xff0c;应该使用的标签是&#xff08; &#xff09;。 选项&#xff1a; A. <style></style> B. <script></script> C. <js><…

用python进行二分法查找(python实例三十)

目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.代码示例 4.运行结果 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&#xff0c;相比其他语言经常使用英文关键…