題目連結:https://www.luogu.com.cn/problem/P1168
題目描述:給定一個長度為 N 的非負整數序列 A,對於前奇數項求中位數。
思路講解:最簡單的想法就是每次取我們要的那段陣列然後排序在輸出中位數。確實可以,但是太慢了,直接超時。那就是說要縮短時間,那就可以直接用到堆這個東西。這玩意其實就一二叉樹,比父節點大的都放右節點,小的就放在左節點。當然也沒必要這麼嚴格,因為堆只是取最頂端的那個節點那這個思路不就來了嗎,咱直接就拿第一個當個標準點,創立兩個堆,比它大的放一個堆,比它小的放另一個堆,然後每次新增新元素的時候把這個堆更新一下就可以了。然後當我們到達需要取中位數的那個節點也就是1,3,5等數的時候,將兩個堆進行比較把多的那個堆的堆頂放少的那個堆,再把兩個堆和標準值更新一下就可以了,當兩個堆元素一樣多的時候,那個標準值就是我們要的中位數
P1168 中位數題解
相關文章
- [筆記]數位dp例題及詳解(更新中)筆記
- 求資料流中的中位數問題
- 數位dp - 板子題
- #數位DP 計數問題
- 均值、中位數、眾數
- LeetCode解題(C++)-4. 尋找兩個有序陣列的中位數LeetCodeC++陣列
- 負數的二進位制數問題
- 資料流中的中位數
- mysql 求分組中位數、環比、同比、中位數的環比、同比MySql
- LeetCode第4題:尋找兩個有序陣列的中位數LeetCode陣列
- U389139 至少有一位重複的數字-題解
- LeetCode題解(Offer17):列印從1到最大的n位數(Python)LeetCodePython
- MYSQL練習題:給定數字的頻率查詢中位數(Leetcode困難)MySqlLeetCode
- 數列 題解
- CSS解決文字溢位問題CSS
- 從2023濟南K學習滑動視窗中位數問題
- 1202-資料流中的中位數
- LeetCode題解(Offer21):調整陣列順序使奇數位於偶數前面(Python)LeetCode陣列Python
- 雙模數問題 題解
- 面試程式碼題(vivo)數位之積面試
- [LeetCode 刷題] 4. 尋找兩個有序陣列的中位數 (Hard)LeetCode陣列
- JZ-063-資料流中的中位數
- 怎樣解題|題7.5.12:因數的個數
- 四位整數位數拆分
- leetcode 解題:7. 整數反轉 @ 彈出和推入數字 & 溢位前進行檢查LeetCode
- python 計算中位數、四分位數、最大值、最小值等Python
- vertica 中位數函式 MEDIAN 的使用函式
- 數位電路中的觸發器觸發器
- 二進位制中1的個數
- 兩個有序陣列的中位數陣列
- 數位線下場景大資料,解讀中國人的幸福年大資料
- 力扣演算法題:尋找兩個正序陣列的中位數力扣演算法陣列
- LeetCode題集-4 - 尋找兩個有序陣列的中位數,圖文並茂,六種解法,萬字講解LeetCode陣列
- 二進位制方式解決 power 問題
- stoi字串轉十進位制數越界問題字串
- LeetCode每日一題: 位1的個數(No.191)LeetCode每日一題
- 【題解】A23329.等差數列計數
- 關於Java中進位制轉換以及位運算問題Java