原创 kuanbin專題一簡單搜索感悟:

用bfs注意數據範圍,當數字超過數字範圍或者到達不可能有答案的狀態時就不要加進隊列裏了。 不要重複去創建數組,當每次循環要用到新數組時可以覆蓋原來的數組,數組的創建比賦值耗時很多。特別是vector的創建特別耗時,普通數組的創建

原创 簡單搜索-Prime Path

題目:給定兩個4位的素數(第一位不爲0),第一個爲起始素數,第二個爲目標素數。要求每次改變一位,使得該素數變爲下一個素數,並最終達到目標素數。 策略:打素數表+BFS 打素數表的方法要學會!把倍數的全弄爲非素數 #include<

原创 運用stringstream進行類型轉換和字符串切割

string轉int: int a = 3; string tem="12"; stringstream ss; ss << tem; ss >> a; //a會變爲int類型12 int轉string: int a

原创 刷leetcode技巧

vector<vector<int>> ans(numRows, vector<int>(numCols));//創建numRows*numCols的數組 之後就可以直接ans[0].push_back(2)了 注意:如果沒有ve

原创 編譯原理自底向上語法分析

LR(0)不允許移入規約衝突和歸約歸約衝突 SLR(1) 允許LR(0)移入規約衝突,只要歸約項目箭頭左邊字母的Follow集和移入項的移入字母交集爲空;也允許歸約歸約衝突,只要該狀態所有歸約項目箭頭左邊字母的Follow集交集爲

原创 字符串與數字範圍

當字符串由數字組成時,告訴你字符串的長度是length,意味着變成數字時最大會達到10length-1。 比如告訴字符串長度最長爲105,那要注意數字可以達到10的105-1次方,大約是10100000。這時什麼類型都裝不下這麼大

原创 軟件工程工程網絡圖

活動E的最早開始時間是事件3那點的最早時刻,活動E的最晚結束時間是事件5那點的最遲時刻。這兩個只要根據關鍵路徑的求法求每個點的最早時刻和最晚時刻就可直接從圖上看出。 活動E的最晚開始時間是事件5的最遲時刻-活動時長4 活動E的最

原创 string和int轉換以及string的拼接

string轉數字 stoi(string) 數字轉字符串 to_string(int/float) 字符轉數字: int result= ‘2’-‘0’; 數字轉字符: char result=2+‘0’; string間的拼接

原创 int負數變爲正數要注意溢出

n 是 32 位有符號整數,其數值範圍是 [−231, 231 − 1] 所以題目中雖然給的參數是int類型,但是有步驟要把負整數變爲正整數時要注意可能會溢出。這時候如果是非遞歸要定義一個long的變量,如果是要用遞歸的話可以再寫

原创 簡便使用map和set

學會for(auto& x : myset) 和for(auto& [id, s] : mymap)的寫法代替迭代器 map<int, map<string, int>> mp; set<string> st;