持續更新 pat pat刷題技巧記錄

2021-09-29 19:34:53 字數 1835 閱讀 4806

修改code completion快捷鍵位ctrl+enter,幫助提示函式名稱

修改命令列提示符的屬性,開啟快速編輯模式,方便除錯

新增c++11語言標準支援

開啟**除錯功能

對輸入的字串進行切割時,可以使用scanf按照指定格式分別輸入達到切割效果,比如:

//對於這樣的輸入

3-10 99

11-5 87

102-1 0

//對於這種格式不絕對統一的字串,可以自己構造相應的scanf分割對應的資料

scanf("%d-%d %d", &t, &num, &score);

對於需要進行除法運算的變數,並且有精確度要求的時候,可以這樣

double grade =0;

//其中fullscore陣列為int型別,在*1.0小數之後,自動轉換為浮點型

grade += fullscore[j] * 1.0 / 2;

//或者這樣強轉

grade += (double)fullscore[j]/2;

如果在getline讀取行之前還有其它的輸入字元(不管是字元還是整數),則需要保證在呼叫getline函式之前,使用getchar()函式讀取一次回車符,然後再呼叫

#includeusing namespace std;

int main()

output

myvector contains: 5 5 5 8 8 8 0 0
將十進位制a轉換為b進製數,當a不為0時,將a%b從後往前倒序儲存下來,每次儲存後將a/b。這樣倒序儲存的數就是十進位制a在b進製下的結果。

進製互轉**參考如下

#include#includeusing namespace std;

int main()

while(digital!=0)

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

return result;

}int main()

int lcm(int a,int b)

對於一些可以事先進行預處理然後用雜湊表來求解的問題,可以大大減少時間複雜度。比如乙個需要大量查詢斐波那契數列的問題中,我們可以事先把前n個斐波那契數列求解出來然後放到雜湊表中進行儲存,之後的查詢就都是o(1)的時間複雜度。

▲多利用位運算來求解交集,並集,差集,可以大大減少時間複雜度,降低編碼難度。

素數的判斷

bool isprime(int n)

return true;

}

常用c++ stl容器

c++ container

sequence container adapters

associative containers

same key

unordered associative containers

same key

algorithm標頭檔案常用函式

algorithm

大陣列必須定義為全域性變數

字元陣列要多開乙個單位

string.find()返回的是下標的值,沒有找到用==string::npos

dev c++除錯**時,檢視vector容器的內容

刷題 Codewars Js題目(持續更新)

發現乙個很好的練習做題 codewars 都是自己做過的,先放自己的答案,再放自己覺得不錯的其他回答。1.將首字母放到後面並加上ay pigit this is my string 轉換成 pigit histay siay ymay tringsay 2.陣列變成字串並且最後乙個用 連線 list...

LeetCode刷題總結(持續更新中。。。)

1 回文字元 返回字串是否回文結構 def huiwen str if len str 1 return true elif len str 2 return str 0 str 1 else return str 0 str 1 and huiwen str 1 1 2 寶石與石頭 return ...

演算法刷題全文筆記(持續更新)

演算法刷題全文索引 劍指offer 66題 sql練習 leetcode刷題筆記 八 leetcode刷題筆記 七 剛進入top 100,這部分挑了自己比較感興趣的一些題來看,比如trie樹或者累加樹,聽過概念但不如一見,也找了很多題解與結構解析來幫助理解,方便日後又忘記概念能很快記起來。leetc...