原创 LeetCode 643——子數組最大平均數 I(雙指針)

一、題目介紹 給定 n 個整數,找出平均數最大且長度爲 k 的連續子數組,並輸出該最大平均數。 示例 1: 輸入: [1,12,-5,-6,50,3], k = 4 輸出: 12.75 解釋: 最大平均數 (12-5-6+50)/4 =

原创 LeetCode 605——種花問題

一、題目介紹 假設你有一個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。 給定一個花壇(表示爲一個數組包含0和1,其中0表示沒種植花,1表示種植了花),和一個數 n 。能否

原创 LeetCode 295——數據流的中位數

一、題目介紹 中位數是有序列表中間的數。如果列表長度是偶數,中位數則是中間兩個數的平均值。 例如, [2,3,4] 的中位數是 3 [2,3] 的中位數是 (2 + 3) / 2 = 2.5 設計一個支持以下兩種操作的數據結構: void

原创 LeetCode 1232——綴點成線(遞歸+哈希)

一、題目介紹 在一個 XY 座標系中有一些點,我們用數組 coordinates 來分別記錄它們的座標,其中 coordinates[i] = [x, y] 表示橫座標爲 x、縱座標爲 y 的點。 請你來判斷,這些點是否在該座標系中屬於同

原创 LeetCode 383——贖金信(哈希)

一、題目介紹 給定一個贖金信 (ransom) 字符串和一個雜誌(magazine)字符串,判斷第一個字符串ransom能不能由第二個字符串magazines裏面的字符構成。如果可以構成,返回 true ;否則返回 false。 (題目說

原创 LeetCode 107——二叉樹的層次遍歷II

一、題目介紹 給定一個二叉樹,返回其節點值自底向上的層次遍歷。 (即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷) 例如: 給定二叉樹 [3,9,20,null,null,15,7],     3    / \   9  20  

原创 LeetCode 231——2的冪(位運算)

一、題目介紹 給定一個整數,編寫一個函數來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 20 = 1 示例 2: 輸入: 16 輸出: true 解釋: 24 = 16 示例 3: 輸入: 218 輸出:

原创 LeetCode 378——有序矩陣中第K小的元素(優先隊列)

一、題目介紹 給定一個 n x n 矩陣,其中每行和每列元素均按升序排序,找到矩陣中第k小的元素。 請注意,它是排序後的第k小元素,而不是第k個元素。 示例: matrix = [    [ 1,  5,  9],    [10, 11,

原创 LeetCode 1122——數組的相對排序(計數排序)

一、題目介紹 給你兩個數組,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每個元素都出現在 arr1 中 對 arr1 中的元素進行排序,使 arr1 中項的相對順序和 arr2 中的相對順序相同。未在 arr2 中

原创 LeetCode 342——4的冪

一、題目介紹 給定一個整數 (32 位有符號整數),請編寫一個函數來判斷它是否是 4 的冪次方。 示例 1: 輸入: 16 輸出: true 示例 2: 輸入: 5 輸出: false 進階: 你能不使用循環或者遞歸來完成本題嗎? 來源:

原创 C++ 二進制讀寫文件的方法

開發過程,遇見將文件以二進制的方式讀取到緩存中的場景,於是在這裏記錄一下,方便以後複用。 讀文件 void readFile(string& filePath, std::vector<unsigned char>& data ) {