【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.pswp.cn/news/895913.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895913.shtml
英文地址,請注明出處:http://en.pswp.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;相比其他語言經常使用英文關鍵…