1. 程式人生 > >leetcode個人題集分類(更新中)

leetcode個人題集分類(更新中)

leetcode

Yo~easy難度已經完成

題目 標籤
[764] N-ary Tree Level Order Traversal
[772] Construct Quad Tree
[438] Find All Anagrams in a String
[300] Longest Increasing Subsequence
[501] Find Mode in Binary Search Tree dfs
[530] Minimum Absolute Difference in BST dfs
[532] K-diff Pairs in an Array hash
[558] Quad Tree Intersection dfs
[572] Subtree of Another Tree dfs tree
[581] Shortest Unsorted Continuous Subarray binary search
[589] N-ary Tree Preorder Traversal tree traversal
[617] Merge Two Binary Trees merge tree dfs
[637] Average of Levels in Binary Tree bfs queue
[669] Trim a Binary Search Tree Trim tree
[687] Longest Univalue Path dfs tree
[720] Longest Word in Dictionary trie
[744] Network Delay Time dfs map
[874] Walking Robot Simulation simulation pair
[937] Reorder Log Files Custom Sort

快速判斷是不是質數(單次)

O(sqrt(N)/6)

//Written by Coffee. 判斷素數
bool isPrime(int num)
{
	if (num == 2
|| num == 3) { return true; } if (num % 6 != 1 && num % 6 != 5) { return false; } for (int i = 5; i*i <= num; i += 6) { if (num % i == 0 || num % (i+2) == 0) { return false; } } return true; }

使用istringstream來讀取string的單詞物件

C++引入了ostringstream、istringstream、stringstream這三個類,要使用他們建立物件就必須包含這個標頭檔案。
istringstream類用於執行C++風格的串流的輸入操作。
ostringstream類用於執行C風格的串流的輸出操作。
strstream類同時可以支援C風格的串流的輸入輸出操作。
stringstream的建構函式原形如下:
istringstream::istringstream(string str);
它的作用是從string物件str中讀取字元。

示例程式碼:

unordered_map<string, int> count;
istringstream iss(A + " " + B);
string temp;

//hashmap中注入每個單詞(分隔符隔開的被定義為單詞)
while (iss >> temp)
{
	count[temp]++;
}

對於string物件使用istringstream(orign_string);對istringstream物件初始化
然後接下來的使用方法和標準庫中的cin物件相似。

穩定排序和不穩定排序的區別

std::sort:
不保證保持相等元素的順序。
複雜性: O(N·log(N))
N= = std::distance(first, last)比較

std::stable_sort:
保證保持相等元素的順序。
複雜性: O(N·log^2(N)),其中N=的std::distance(first, last)應用程式cmp。如果有額外的記憶體,那麼複雜性就是O(N·log(N))。

這意味著std::stable_sort在執行時間方面不能非常有效地執行,除非“額外的儲存器可用”,在這種情況下,它在儲存器消耗方面沒有被有效地執行