Leetcode刷題筆記 標準庫

2021-10-19 08:35:42 字數 1186 閱讀 3237

push() 壓入棧

pop() 彈出首元素

top() 返回首元素

push() 壓入佇列

pop() 彈出佇列頭元素

front() 獲取佇列頭元素,注意這裡不是top

預設最大堆

最小堆 priority_queue

找第k大元素:轉換思路,維護k個元素的最小堆,堆底為最大,堆頂為第k大

substr(起始下標, 子串長度) 獲取子串

insert(插入位置下標,字串) 在該位置前插入字串

過載+ 拼接字元/字串

stoi()/stod() 字串轉整型/浮點型

to_string() 整型/浮點型轉字串

字元轉整型 int(字元 - 『0』)

整型轉字元 char(整型 + 『0』)

初始化 vector new_vector(5, 0) 5個元素均為0

也可以直接用另乙個vector變數的迭代器初始化,注意右區間迭代器是末端位置的下乙個位置

pop_back() 彈出最末尾元素

insert(iterator loc, const type &val) 插入,也可以用迭代器插入另乙個vector變數的乙個區間

三種:map, multimap, unordered_map,前兩者的實現為紅黑樹,unordered_set的底層實現是雜湊表

鍵:.first,值:.second

插入元素:insert/直接通過

查詢鍵值:find(),若不存在則返回.end(),否則返回指向該對映的迭代器

刪除對映:erase,引數可以是鍵/迭代器

計數:count

三種:set, multiset, unordered_set

find() 查詢,同map

count() 計數

set和multiset有序,和map與multimap一樣都預設為公升序排列,如預設為set> 為公升序,可以設定降序為set>

自定義排序方式(降序排列):

set<

int, cmp> my_set;

struct cmp

}

sort(.begin(), .end()) 快速排序,預設公升序

sort(.begin(), .end(), (int a, int b) ) 自定義排序方式,降序

int32_max

Leetcode刷題筆記

1.兩數之和給定乙個整數陣列nums 和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。ps 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。思路 用target減去nums中的每乙個數,並設立乙個字典來記錄對應的下標 class...

LeetCode刷題筆記

實現strstr 給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。示例 1 輸入 haystack hello needle ll 輸出 2 示例 2 輸入 haystack aaaa...

LeetCode刷題筆記

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...