LeetCode刷題總結

2021-09-14 02:43:13 字數 2490 閱讀 5355

123

4567

891011

12

//元素交換

swap(a[1], a[3]);

//sort排序

sort(a.begin(),a.end());

//陣列顛倒

reverse(a.begin(), a.end());

//陣列元素置為0

memset(a, 0, a.size());

//陣列取值

a.push_back();

//定義二維陣列

vector

< vector

> result

集合中沒有重複元素

123

4567

891011

1213

1415

16

//定義乙個int型別的集合

set s;

set::iterator it;

//插入元素10(插入的數值預設從小到大排序)

s.insert(10);

//刪除元素10

s.erase(10);

//清空集合

s.clear();

//集合元素的個數

s.size();

//判斷集合是否為空

s.empty();

//查詢集合中是否與元素10,有的話返回10,沒有則返回s.end()

it = s.find(10);

//

mutiset:多重集合與set最大的區別是它可以插入重複元素,如果刪除的話,相同的會一起刪除,如果查詢的話,返回該元素的迭代器的位置,若有相同,返回第乙個元素的位址,其它使用和set基本類似。

c++中map中的元素按key公升序排列,基本格式為map m,需要使用標頭檔案#include。

123

45

//資料的插入

map studentsid;

studentsid.instert(pair(1, "student_one"));

studentsid.instert(map

::value_type(2, "student_two"));

studentid[3]="student_three";

123

4567

8

//排序

sort(a.begin(), a.end());

//將所有字元轉換成小寫

transform(s.begin(), s.end(), s.begin(),::tolower);

//擷取字串

//標準庫的string有乙個substr函式用來擷取子字串。一般使用時傳入兩個引數,第乙個是開始的座標(第乙個字元是0),第二個是擷取的長度。

string

name

("rockderia")

;string

firstname

(name.substr(0,4))

;

異或(^):二進位制數進行運算相同為0,不同為1

與運算(&):同時為1,才為1;

或運算(|):同時為0,才為0;

取反(~)

左移(<<):左邊的二進位制丟失,右邊補0,左移最高位不包括1,左移相當於該數乘2;

右移(>>):正數左補0,負數左補1

不同長度的資料進行位運算時,系統會自動補齊。

棧具有先進後出的特性

123

4567

891011

1213

1415

// 預設建構函式

stack

s;// 複製建構函式

stack

> s1;

stack

> s2(s1);

// 入棧

s.push();

// 出棧,不會顯示內容

s.pop();

// 提取棧頂元素

s.top();

// 判斷是否非空

s.empty() // true表示未空,false表示非空

// 返回棧中數目

s.size()

123

4567

891011

1213

14

// 定義佇列

queue

q;// 入隊

q.push(x)

// 出隊

q.pop()

// 訪問隊首元素

q.front()

// 訪問隊尾元素

q.back()

// 判斷佇列是否為空

q.empty()

// 訪問佇列中元素個數

q.size()

佇列具有先進先出的特性

LeetCode刷題總結

123 4567 891011 12 元素交換 swap a 1 a 3 sort排序 sort a.begin a.end 陣列顛倒 reverse a.begin a.end 陣列元素置為0 memset a,0,a.size 陣列取值 a.push back 定義二維陣列 vector vec...

leetcode刷題總結 6 10題

六 zigzag conversion 本題屬於比較簡單的,很容易就能總結出規律。乙個zigzag數以2 numrows 2為乙個迴圈,每乙個豎行的字母下標為乙個cycle,除了第一行和最後一行,中間各行都要加乙個j cycle 2 i i為從零開始的行號,j為每個迴圈裡i cycle n.clas...

LeetCode刷題總結101 150

思路 分析到此題並不是簡單的把乙個結點劃分為左右子樹就可以的,因而使用遞迴時必定需要重新定義乙個函式,函式的引數即為需要比較的兩個樹,該樹的特徵即a的左子樹與b的右子樹相同,同理a的右子樹與b的左子樹相同,此時即為true。需要注意的一點是,分析好邏輯關係,如下 if lf null rt null...