記錄每日LeetCode 406.根據身高重建隊列 Java實現

題目描述:

假設有打亂順序的一群人站成一個隊列,數組 people 表示隊列中一些人的屬性(不一定按順序)。每個 people[i] = [hi, ki] 表示第 i 個人的身高為 hi ,前面 正好ki 個身高大于或等于 hi 的人。

請你重新構造并返回輸入數組?people 所表示的隊列。返回的隊列應該格式化為數組 queue ,其中 queue[j] = [hj, kj] 是隊列中第 j 個人的屬性(queue[0] 是排在隊列前面的人)。

初始代碼:

class Solution {public int[][] reconstructQueue(int[][] people) {}
}

示例1:

輸入:people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]
輸出:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]
解釋:
編號為 0 的人身高為 5 ,沒有身高更高或者相同的人排在他前面。
編號為 1 的人身高為 7 ,沒有身高更高或者相同的人排在他前面。
編號為 2 的人身高為 5 ,有 2 個身高更高或者相同的人排在他前面,即編號為 0 和 1 的人。
編號為 3 的人身高為 6 ,有 1 個身高更高或者相同的人排在他前面,即編號為 1 的人。
編號為 4 的人身高為 4 ,有 4 個身高更高或者相同的人排在他前面,即編號為 0、1、2、3 的人。
編號為 5 的人身高為 7 ,有 1 個身高更高或者相同的人排在他前面,即編號為 1 的人。
因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新構造后的隊列。

示例2:

輸入:people = [[6,0],[5,0],[4,0],[3,2],[2,2],[1,4]]
輸出:[[4,0],[5,0],[2,2],[3,2],[1,4],[6,0]]

參考答案:

class Solution {public int[][] reconstructQueue(int[][] people) {// 身高降序且個數升序進行排序Arrays.sort(people, (p1, p2) -> p1[0] != p2[0] ? p2[0] - p1[0] : p1[1] - p2[1]);// 根據個數作為索引插入集合中List<int[]> result = new ArrayList<>();for (int[] p : people) {result.add(p[1], p);}return result.toArray(new int[0][people[0].length]);}
}

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

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

相關文章

《C++新經典設計模式》之附錄A 類和對象

《C新經典設計模式》之附錄A 類和對象 A.1 靜態對象的探討與全局對象的構造順序A.1.1 靜態對象的探討A.1.1.cpp A.1.2 全局對象的構造順序問題A.1.2.cpp A.2 拷貝構造函數和拷貝賦值運算符A.2.1 拷貝構造函數和拷貝賦值運算符的書寫A.2.1.cpp A.2.2 對象自我賦值產生的問題A.2.…

實現加鹽加密方法以及java nio中基于MappedByteBuffer操作大文件

自己實現 傳統MD5可通過彩虹表暴力破解&#xff0c; 加鹽加密算法是一種常用的密碼保護方法&#xff0c;它將一個隨機字符串&#xff08;鹽&#xff09;添加到原始密碼中&#xff0c;然后再進行加密處理。 1. 每次調用方法產生一個唯一鹽值&#xff08;UUID &#xff09;密碼…

UDS診斷 10服務

文章目錄 簡介診斷會話切換請求和響應1、請求2、子功能3、肯定響應4、否定響應5、特殊的NRC 為什么劃分不同會話報文示例UDS中常用 NRC參考 簡介 10服務&#xff0c;即 Diagnostic Session Control&#xff08;診斷會話控制&#xff09;服務用于啟用服務器中的不同診斷會話&am…

(四) python門面模式

文章目錄 4.1 結構型設計模式4.1.1 簡介4.1.2 常見的幾種結構型設計模式 4.2 理解門面設計模式4.2.1 門面設計模式概述4.2.2 門面設計模式的作用 4.3 UML類圖4.3.1 門面4.3.2 系統4.3.3 客戶端 4.4 門面模式的代碼實現4.4.1 場景&#xff1a;4.4.2 python實現 4.5 原理&#xf…

Compose for iOS:kotlin 與 swift 互操作

前言 類似于 Android 上的 compose&#xff0c;在 iOS 上的 compose 同樣支持嵌套顯示 compose UI 和 swiftUI 或是 uikit 。 但是不同于 Android 原生就是使用 kotlin 作為開發語言&#xff0c;iOS 的開發語言是 swift 或者 object-c 。雖然大多數業務邏輯都可以直接使用 ko…

渲染(iOS渲染過程解析)

渲染 渲染原理 一個硬核硬件科普視頻 CPU和GPU CPU&#xff08;Central Processing Unit&#xff09;&#xff1a;現代計算機整個系統的運算核心、控制核心&#xff0c;適合串行計算。GPU&#xff08;Graphics Processing Unit&#xff09;&#xff1a;可進行繪圖運算工作的…

安防音頻接口選型的高性能國產芯片分析

在人工智能興起之后&#xff0c;安防市場就成為了其全球最大的市場&#xff0c;也是成功落地的最主要場景之一。對于安防應用而言&#xff0c;智慧攝像頭、智慧交通、智慧城市等概念的不斷涌現&#xff0c;對于芯片產業催生出海量需求。今天&#xff0c;我將為大家梳理GLOBALCH…

springboot_3.2_freemark_基礎環境配置

springboot_3.2_freemark_基礎環境配置 一、前言二、環境三、相關資料四、目標五、默認配置項六、構建springboot 3.2項目6.1 pom.xml 內容&#xff1a;6.2 啟動類6.3 添加ftlh模板6.4 controller內容6.5 bootstrap.yml配置 七、總結 一、前言 FreeMarker 是一款模板引擎&…

Linux——緩沖區與實現C庫的fopen,fwrite,fclose

目錄 一.緩沖區 1緩沖區的概念 2.緩沖區存在的意義 3.緩沖區刷新策略 4.什么是刷新&#xff1f; C語言的緩沖區在哪里&#xff1f; ?編輯 仿寫C庫里的fopen&#xff0c;fclose&#xff0c;fwrite。 mystdio.h mystdio.c main.c(向文件中寫入20次msg) 一.緩沖區 1…

b站pwn的學習總結

寫的很亂 1.c語言的運行過程 了解了c語言需要經過以上2個過程&#xff08;編譯和匯編&#xff09;&#xff0c;才能讓機器按指令運行。機器只能聽得懂機器碼&#xff0c;所以要“匯編”。 那問題就來了&#xff0c;“編譯”這個動作有啥用&#xff0c;c語言這種高級語言&…

玩轉大數據10:深度學習與神經網絡在大數據中的應用

目錄 1. 引言&#xff1a;深度學習和神經網絡在大數據中的重要性和應用場景 2. 深度學習的基本概念和架構 3. Java中的深度學習框架 3.1. Deeplearning4j框架介紹及Java編程模型 3.2. DL4J、Keras和TensorFlow的集成 4. 大數據與深度學習的結合 4.1. 大數據與深度學…

電腦端同時登錄多個微信

1、建立一個txt文件 2、右擊微信查看應用的屬性&#xff0c;記錄文件的位置 3、將步驟二得到的路徑按照下方的格式輸入到步驟一的文本中 4、保存之后將文本后綴名的.txt改成.bat 5、在未登錄微信的情況下&#xff0c;雙擊即可得到兩個微信登錄窗口

Python高級算法——回溯法(Backtracking)

Python中的回溯法&#xff08;Backtracking&#xff09;&#xff1a;高級算法解析 回溯法是一種通過嘗試所有可能的解來找到問題解的算法設計方法。它通常應用于組合問題、排列問題、子集問題等。在本文中&#xff0c;我們將深入講解Python中的回溯法&#xff0c;包括基本概念…

解決oracle.sql.TIMESTAMP序列化轉換失敗問題 及 J2EE13Compliant原理

目錄 報錯現象報錯內容處理方法Oracle驅動源碼總結 報錯現象 oracle表中存在TIMESTAMP類型的列時&#xff0c;jdbc查出來做序列化時報錯 報錯內容 org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframewo…

x86和ARM中配置無線網SSID和PASSWORD

提供一個可行的方法 1.準備文件 hostapd.conf &#xff1a;是用戶控件的守護進程用于無線接入點&#xff08;AP&#xff09;和授權服務器&#xff08;authentication servers)&#xff0c;存放路徑&#xff1a;/etc/hostapd/hostapd.conf interfacewlp5s0 drivernl80211 chan…

Java中多線程中 synchronized 鎖升級的原理是什么?

Java中多線程中 synchronized 鎖升級的原理是什么&#xff1f; 在 Java 中&#xff0c;synchronized 鎖的升級是指在不同的場景下&#xff0c;鎖的性能優化。Java 的鎖有多個狀態&#xff0c;主要包括偏向鎖、輕量級鎖和重量級鎖。 偏向鎖&#xff1a;當只有一個線程訪問同步塊…

acwing算法提高之動態規劃--背包模型(三)

目錄 1 基礎知識2 模板3 工程化 1 基礎知識 暫無。。。 2 模板 暫無。。。 3 工程化 題目1&#xff1a;潛水員。 解題思路&#xff1a;DP。 狀態定義f[i][j][k]&#xff1a;從前i個物品中選&#xff0c;氧氣至少為j&#xff0c;氮氣至少為k的最小方案數。 狀態轉移&…

解決idea 通過build project 手動觸發熱部署失敗

在debug運行項目的過程中&#xff0c;并且保證&#xff08;不添加方法&#xff0c;不修改方法名&#xff09;一定的規則的情況下&#xff0c;可以通過build project 來手動熱部署項目&#xff0c;也就是會交換class文件與resouces文件。 設置項 Edit Configurations Modify Op…

計算機圖形學理論(1):建模基礎

本系列根據國外一個圖形小哥的講解為本&#xff0c;整合互聯網的一些資料&#xff0c;結合自己的一些理解。 場景的組成部分 場景相當于一個或多個模型的集合。模型包含以下內容&#xff1a; 結構描述&#xff1a;幾何形狀&#xff0c;如頂點、紋理坐標等表面描述&#xff1a…

Vue3中的defineModel

目錄 一、vue3的defineModel介紹 二、defineModel使用 &#xff08;1&#xff09;在vite.config.js中開啟 &#xff08;2&#xff09;子組件 &#xff08;3&#xff09;父組件 一、vue3的defineModel介紹 為什么要使用到defineModel呢&#xff1f;這里有這樣一種場景&…