2974.最小數字游戲

1.題目描述

你有一個下標從?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

2.解題思路

對于一個長度為偶數的數組,每次取出當前序列中最小的兩個元素,然后先放入倒數第二小的,再放入最小的到新數組。其實這個操作就相當于每次交換序列中最小的和倒數第二小的兩個元素的位置,只需要將原數組排序后依次交換相鄰兩個元素的位置即可

3.代碼實現

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/44397.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/44397.shtml
英文地址,請注明出處:http://en.pswp.cn/web/44397.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring MVC 全面指南:從入門到精通的詳細解析

引言&#xff1a; Spring MVC&#xff0c;作為Spring框架的一個重要模塊&#xff0c;為構建Web應用提供了強大的功能和靈活性。無論是初學者還是有一定經驗的開發者&#xff0c;掌握Spring MVC都將顯著提升你的Web開發技能。本文旨在為初學者提供一個全面且易于理解的學習路徑…

數據建設實踐之大數據平臺(五)安裝hive

安裝hive 上傳安裝包到/opt/software目錄并解壓 [bigdata@node101 software]$ tar -zxvf hive-3.1.3-with-spark-3.3.1.tar.gz -C /opt/services [bigdata@node101 services]$ mv apache-hive-3.1.3-bin apache-hive-3.1.3 配置環境變量 export JAVA_HOME=/opt/services…

Debezium系列之:驗證mysql、mariadb等兼容mysql協議數據庫賬號權限

Debezium系列之:驗證mysql、mariadb等兼容mysql協議數據庫賬號權限 一、數據庫需要開啟binlog二、創建賬號和賬號需要賦予的權限三、賬號具有權限查看日志信息四、驗證賬號權限五、驗證賬號能否執行show master status六、驗證數據庫是否開啟binlog一、數據庫需要開啟binlog …

實驗9 存儲過程與函數的創建管理實驗

一、實驗目的&#xff1a; 理解存儲過程和函數的概念。掌握創建存儲過程和函數的方法。掌握執行存儲過程和函數的方法。掌握游標的定義、使用方法。 二、實驗內容 1&#xff0e;某超市的食品管理的數據庫的Food表&#xff0c;Food表的定義如表所示&#xff0c; Food表的定義…

【進階篇-Day8:JAVA中遞歸、異常的介紹】

目錄 1、遞歸的介紹和使用1.1 遞歸的介紹1.2 案例案例一&#xff1a;案例二&#xff1a;案例三&#xff1a;案例四&#xff1a; 1.3 總結 2、異常的介紹和使用2.1 異常的介紹&#xff1a;&#xff08;1&#xff09;能夠看懂異常&#xff08;2&#xff09;異常的體系接口和分類&…

Go語言map并發安全,互斥鎖和讀寫鎖誰更優?

并發編程是 Go 語言的一大特色&#xff0c;合理地使用鎖對于保證數據一致性和提高程序性能至關重要。 在處理并發控制時&#xff0c;sync.Mutex&#xff08;互斥鎖&#xff09;和 sync.RWMutex&#xff08;讀寫鎖&#xff09;是兩個常用的工具。理解它們各自的優劣及擅長的場景…

蘋果入局,AI手機或將實現“真智能”?

【潮汐商業評論/原創】 “AI應用智能手機不就是現在的AI手機。” 當被問到現階段對AI手機的看法時&#xff0c;John如是說。“術業有專攻&#xff0c;那么多APP在做AI功能&#xff0c;下載用就是了&#xff0c;也用不著現在換個AI手機啊。” 對于AI手機&#xff0c;或許大多…

上海市計算機學會競賽平臺2023年1月月賽丙組積木染色(二)

題目描述 &#x1d45b;n 塊積木排成一排&#xff0c;需要給每塊積木染色&#xff0c;顏色有 &#x1d45a;m 種。請問有多少種方法&#xff0c;從第二塊積木開始統計&#xff0c;恰有 &#x1d45d;p 塊積木與前一塊積木顏色不同&#xff1f; 輸入格式 三個整數分別表示 &a…

Windows安裝和使用Doccano標注工具

簡介 開源鏈接&#xff1a;GitHub - doccano/doccano: Open source annotation tool for machine learning practitioners. Open source annotation tool for machine learning practitioners. Doccano是一款開源的文本標注工具&#xff0c;由人工智能公司Hironsan開發并在G…

【算法】代碼隨想錄之數組

文章目錄 前言 一、二分查找法&#xff08;LeetCode--704&#xff09; 二、移除元素&#xff08;LeetCode--27&#xff09; 三、有序數組的平方&#xff08;LeetCode--977&#xff09; 四、長度最小的子數組&#xff08;LeetCode--209&#xff09; 五、螺旋矩陣II&#x…

花幾千上萬學習Java,真沒必要!(二)

1、注釋&#xff1a; java代碼注釋分3種&#xff1a; 單行注釋&#xff1a;//注釋信息 多行注釋: /*注釋信息*/ 文檔注釋:/**注釋信息*/ public class TestComments {// 這是單行注釋&#xff0c;用于注釋單行代碼或解釋代碼功能/* 這是多行注釋&#xff0c;用于注釋多行代碼…

Kotlin runCatching try-catch耗時比較

Kotlin runCatching try-catch耗時比較 fun main(args: Array<String>) {val lists arrayListOf("z")val idx 10/***納秒統計** ns&#xff08;nanosecond&#xff09;&#xff1a;納秒。一秒的10億分之一&#xff0c;10的-9次方秒。*   1納秒0.000001 毫秒…

基于實現Runnable接口的java多線程

Java多線程通常可以通過繼承Thread類或者實現Runnable接口實現。本文主要介紹實現Runnable接口的java多線程的方法, 并通過ThreadPoolTaskExecutor調用執行&#xff0c;以及應用場景。 一、應用場景 異步、并行、子任務、磁盤讀寫、數據庫查詢、網絡請求等耗時操作等。 以下…

筆記:在Entity Framework Core中如何處理多線程操作DbContext

一、目的&#xff1a; 在使用Entity Framework Core (EF Core) 進行多線程操作時&#xff0c;需要特別注意&#xff0c;因為DbContext類并不是線程安全的。這意味著&#xff0c;你不能從多個線程同時使用同一個DbContext實例進行操作。嘗試這樣做可能會導致數據損壞、異常或不可…

C語言排序之快速排序

快速排序是一種高效的排序算法。它采用了分治的策略&#xff0c;通過選擇一個基準元素&#xff0c;將待排序的序列劃分為兩部分&#xff0c;一部分的元素都比基準元素小&#xff0c;另一部分的元素都比基準元素大&#xff0c;然后對這兩部分分別進行快速排序&#xff0c;從而實…

前端開發工具

Lodash 有普通的 CommonJS 版本&#xff08;通常稱為 lodash&#xff09;和 ES6 模塊版本&#xff08;稱為 lodash-es&#xff09;。它們的主要區別包括&#xff1a; 模塊化&#xff1a;lodash 是傳統的 CommonJS 模塊&#xff0c;可使用 require 或 import 引入&#xff1b;lo…

2024年,搞AI就別卷模型了

你好&#xff0c;我是三橋君 2022年11月30日&#xff0c;OpenAI發布了一款全新的對話式通用人工智能工具——ChatGPT。 該工具發布后&#xff0c;僅用5天時間就吸引了100萬活躍用戶&#xff0c;而在短短2個月內&#xff0c;其活躍用戶數更是飆升至1億&#xff0c;成為歷史上增…

ARP協議介紹與ARP協議的攻擊手法

ARP是什么&#xff1f; ARP是通過網絡地址&#xff08;IP&#xff09;來定位機器MAC地址的協議&#xff0c;它通過解析網絡層地址&#xff08;IP&#xff09;來找尋數據鏈路層地址&#xff08;MAC&#xff09;的網絡傳輸協議。 對個定義不能理解的話&#xff0c;可以結合 TCP/I…

《戀與深空》2.0上線肉鴿模式,乙游玩家會買賬嗎?

乙游和肉鴿&#xff0c;看似八竿子打不著的兩個賽道&#xff0c;被疊紙給融合起來了。 根據《戀與深空》官方消息&#xff0c;即將在7月15日更新的2.0交錯視界版本中&#xff0c;會上線全新常駐玩法“混沌深網”&#xff0c;配置高隨機性Roguelike模式&#xff0c;并搭載了管理…

理想文檔發布了~一個集合了多個優秀開源項目的在線云文檔

兩年前我做了一個簡單的在線云文檔項目&#xff0c;選擇了開源的思維導圖、白板、流程圖、幻燈片等項目&#xff0c;在它們基礎上添加了云存儲的功能&#xff0c;然后寫了一個簡單的工作臺管理文件夾和文件&#xff1a; 放在了自己的個人網站上使用&#xff0c;同時寫了一篇水文…