2974. 最小数字游戏【简单】

2974. 最小数字游戏


题目描述:

你有一个下标从 0 开始、长度为 偶数 的整数数组 nums ,同时还有一个空数组 arr 。Alice 和 Bob 决定玩一个游戏,游戏中每一轮 Alice 和 Bob 都会各自执行一次操作。游戏规则如下:

  • 每一轮,Alice 先从 nums 中移除一个 最小 元素,然后 Bob 执行同样的操作。
  • 接着,Bob 会将移除的元素添加到数组 arr
    中,然后 Alice 也执行同样的操作。
    游戏持续进行,直到 nums 变为空。

返回结果数组 arr 。

示例 1:

输入:nums = [5,4,2,3]
输出:[3,2,5,4]
解释:第一轮,Alice 先移除 2 ,然后 Bob 移除 3 。然后 Bob 先将 3 添加到 arr 中,接着 Alice 再将 2 添加到 arr 中。于是 arr = [3,2] 。
第二轮开始时,nums = [5,4]Alice 先移除 4 ,然后 Bob 移除 5 。接着他们都将元素添加到 arr 中,arr 变为 [3,2,5,4]

示例 2:

输入:nums = [2,5]
输出:[5,2]
解释:第一轮,Alice 先移除 2 ,然后 Bob 移除 5 。然后 Bob 先将 5 添加到 arr 中,接着 Alice 再将 2 添加到 arr 中。于是 arr = [5,2]

提示

  • 1 <= nums.length <= 100
  • 1 <= nums[i] <= 100
  • nums.length % 2 == 0

JAVA代码:


排序两两交换法

就是排序后的数组。两个数字两个数字的颠倒交换,即可。

class Solution {
    public int[] numberGame(int[] nums) {
        Arrays.sort(nums);
        for(int i = 0;i<nums.length-1;i+=2){
            int temp = nums[i];
            nums[i] = nums[i+1];
            nums[i+1] = temp;
        }
        return nums;
    }
}

在这里插入图片描述

自己的方法

略微麻烦了点。而且多用了一个数组
(待补充知识:各种排序算法的实现)

class Solution {
    public int[] numberGame(int[] nums) {
        sort(nums);
        int[] result = new int[nums.length];
        int a = 0;
        for(int i = 0;i<nums.length;i+=2){
            result[a++] = nums[i+1];
            result[a++] = nums[i];
        }
        return result;
    }
    public void sort(int[] nums){
        int temp = 0;
        for(int i = 0;i<nums.length-1;i++){
            for(int j = i+1;j<nums.length;j++){
                if(nums[i]>nums[j]){
                    temp = nums[i];
                    nums[i] = nums[j];
                    nums[j] = temp;
                }
            }
        }
    }
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Graph + LLM图数据库技术如何助力行业大语言模型应用落地

随着 AI 人工智能技术的迅猛发展和自然语言处理领域的研究日益深入&#xff0c;如何构建强大的大语言模型对于企业来说愈发重要&#xff0c;尤其是在特定行业领域中。 图数据库作为处理复杂数据结构的有力工具&#xff0c;为企业构建行业大语言模型提供了强大的支持。本文将探…

浅谈WPF之利用RichTextBox实现富文本编辑器

在实际应用中&#xff0c;富文本随处可见&#xff0c;如留言板&#xff0c;聊天软件&#xff0c;文档编辑&#xff0c;特定格式内容等&#xff0c;在WPF开发中&#xff0c;如何实现富文本编辑呢&#xff1f;本文以一个简单的小例子&#xff0c;简述如何通过RichTextBox实现富文…

Firefox火狐浏览器/Google谷歌浏览器安装免费好用的翻译插件,亲测好用舒服了(附上安装包)

文章目录 1. 为什么选择它&#xff1f;2. 下载安装并体验插件2.1 下载安装包2.2 安装插件2.3 翻译体验 1. 为什么选择它&#xff1f; 最近维基百科项目&#xff0c;由于是国外的网站全是英文&#xff0c;我英语又不好&#xff0c;试了好几个英文翻译插件都没法使用&#xff0c…

图论之dfs与bfs的练习

dfs--深度优选搜索 bfs--广度优先搜索 迷宫问题--dfs 问题&#xff1a; 给定一个n*m的二维迷宫数组其中S是起点&#xff0c;T是终点&#xff0c;*是墙壁&#xff08;无法通过&#xff09;&#xff0c; .是道路 问从起点S出发沿着上下左右四个方向走&#xff0c;能否走到T点&a…

应用管理中心架构的设计与实现

应用管理中心在现代软件开发中扮演着重要角色&#xff0c;它能够帮助开发团队有效管理和监控各种应用的运行情况。本文将介绍如何设计和实现一个高效、可靠的应用管理中心架构&#xff0c;以提升开发团队的工作效率和系统稳定性。 1. 架构概述 - 介绍应用管理中心的整体架构…

机器人革命:从斯坦福的通用操作接口到OpenAI的Sora,塑造未来的合成学习

引言 在机器人成为平凡工匠和前沿先驱的时代&#xff0c;我们正站在新黎明的边缘。本文将探讨斯坦福大学的通用操作接口&#xff08;UMI&#xff09;及其与OpenAI的Sora如何共同推进机器人技术&#xff0c;开创未来学习的新纪元。 正文 斯坦福的通用操作接口&#xff08;UMI…

jvm、jre、jdk的关系

jvm Java 虚拟机&#xff08;JVM&#xff09;是运行 Java 字节码的虚拟机。 jre JRE&#xff08;Java Runtime Environment&#xff09; 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合&#xff0c;主要包括 Java 虚拟机&#xff08;JVM&#xff09;、J…

H12-821_130

130.如图所示&#xff0c;R1与R2组成一个VRRP备份组1&#xff0c;通过在R1执行vrrp vrid 1 virtual-ip_______命令&#xff0c;可以使其成为IP地址拥有者&#xff0c;让R1为Master, R2为Backup 。 答案&#xff1a;192.168.1.254 注释&#xff1a; IP地址拥有者优先级是255&am…

查看 PyCharm 代码文件目录位置

查看 PyCharm 代码文件目录位置 1. Show in Files2. Copy PathReferences 1. Show in Files right click -> Show in Files / Show in Explorer 即可打开目录 2. Copy Path right click -> Copy Path 即可复制目录或文件路径 References [1] Yongqiang Cheng, http…

【Jvm】类加载机制(Class Loading Mechanism)原理及应用场景

文章目录 Jvm基本组成一.什么是JVM类的加载二.类的生命周期阶段1&#xff1a;加载阶段2&#xff1a;验证阶段3&#xff1a;准备阶段4&#xff1a;解析阶段5&#xff1a;初始化 三.类初始化时机四.类加载器1.引导类加载器&#xff08;Bootstrap Class Loader&#xff09;2.拓展类…

持久化:利用Linux PAM创建后门

目录 Linux PAM详解 使用PAM创建SSH后门密码 利用PAM记录密码 利用PAM免密登录 Linux PAM详解 PAM&#xff08;Pluggable Authentication Modules&#xff0c;可插入的身份验证模块&#xff09;是Linux自带的一套与身份验证机制相关的库&#xff0c;可以将多种身份验证的方…

5、Linux 常用指令

一、帮助指令 1.man 指令 语法 man [命令或配置文件] //功能描述&#xff1a;获得帮助手册上的信息查看 ls 命令的帮助信息 man ls信息作用NAME命令名称SYNOPSIS如何使用命令DESCRIPTION描述命令SEE ALSO相关的手册 2.help 指令 语法 help [命令] //功能描述&#xff1a;获得…

elementui 中 el-date-picker 控制选择当前年之前或者之后的年份

文章目录 需求分析 需求 对 el-date-picker控件做出判断控制 分析 给 el-date-picker 组件添加 picker-options 属性&#xff0c;并绑定对应数据 pickerOptions html <el-form-item label"雨量年份&#xff1a;" prop"date"><el-date-picker …

vm centos7 docker 安装 mysql 5.7.28(2024-02-18)

centos系统版本 [rootlocalhost mysql5.7]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) docker版本 拉取指定版本镜像 docker pull mysql:5.7.28 docker images 创建挂载目录&#xff08;数据存储在centos的磁盘上&#xff09; mkdir -p /app/softwa…

保护您的数据:如何应对.mallab勒索病毒的数据加密?

导言&#xff1a; 数据安全已经成为企业和个人都必须高度重视的问题。然而&#xff0c;网络犯罪分子的不断进化使得数据安全变得更加严峻。其中一种常见的威胁是勒索软件&#xff0c;而.dataru勒索病毒就是其中之一。本文将介绍.dataru勒索病毒的特征&#xff0c;以及如何恢复…

java实现排序算法(上)

排序算法 冒泡排序 时间和空间复杂度 要点 每轮冒泡不断地比较比较相邻的两个元素,如果它们是逆序的,则需要交换它们的位置下一轮冒泡,可以调整未排序的右边界,减少不必要比较 代码 public static int[] test(int[] array) {// 外层循环控制遍历次数for (int i 0; i <…

【DDD】学习笔记-领域服务

聚合的三个问题 按照面向对象设计原则&#xff0c;需要将“数据与行为封装在一起”&#xff0c;避免将领域模型对象设计为贫血对象。如此一来&#xff0c;聚合内的实体与值对象承担了与其数据相关的领域行为逻辑。聚合满足了领域概念的完整性、独立性与不变量&#xff0c;体现…

小白水平理解面试经典题目LeetCode 1025 Divisor Game【动态规划】

1025 除数游戏 小艾 和 小鲍 轮流玩游戏&#xff0c;小艾首先开始。 最初&#xff0c;黑板上有一个数字 n 。在每个玩家的回合中&#xff0c;该玩家做出的动作包括&#xff1a; 选择任意 x&#xff0c;使 0 < x < n 和 n % x 0 。将黑板上的数字 n 替换为 n - x 。 此…

【HarmonyOS】【DevEco ohpm ERROR: NOTFOUND package “@ohos/hypium“如何解决

参考 &#xff1a;&#xff08;无效&#xff09; 华为开发者论坛 DevEco创建项目时的错误解决_6 月 优质更文活动_路北路陈_InfoQ写作社区 解决&#xff1a; HormonyOS-DevEco Studio新建空项目ERROR解决_oh_modules\ohos\hypium-CSDN博客 将 .ohpm文件夹中的hypium文件夹复…

如何引导llm为自己写prompt生成剧本

如何使用写prompt让你自己生一个狗血修仙穿越短剧&#xff0c;且短剧有趣生动让人流连忘返 好的&#xff0c;我会尝试编写一个狗血修仙穿越短剧的prompt&#xff0c;以激发你的想象力&#xff0c;让你创作出一个既有趣又生动的短剧。以下是我的prompt&#xff1a; 标题&#x…
最新文章