PTA題目總結

2021-10-06 23:47:00 字數 1221 閱讀 1679

字串解碼編碼

排序pta中對鍊錶的考察不像leetcode,大部分時候的考察是通過靜態鍊錶的方式

大多數是25分的題,用時大多在25-30分鐘,準確率不錯

靜態鍊錶一般會給 address key next 作為乙個node,一般情況下數量級會小於10^5 因此可以通過乙個大陣列存放給的節點,然後通過遍歷鍊錶完成操作.

一般給的node會比鍊錶中含有的node多,即給了一些不在鍊錶中的node.

給的煉表頭結點可能會是-1\null即鍊錶可能為空

要求的操作比如按條件分開,分段排序等,每一段也可能是空的(即不含有相應條件的node),需要做非空判斷.

因為需要頻繁判空和操作最後乙個節點,注意vector.size()的時間複雜度是常數的,返回值型別是unsigned,因此如果使用vector.size()-1這種判斷方法結果在空的時候會是個很大的數(溢位).需要注意.

大多數是25分的題,少部分和排序等一起作用

可以把較短的字元/數字組合成的串按位乘以字元/數字的域編碼成數字,然後使用時再解碼.

對於給定較長整串包含多組資訊的情況,不妨把需要用到的資訊在錄入串的時候就一起拆出和串一起儲存.或者需要使用string型別,因為string的substr和過載的比較運算子都很好用.注意和strcmp一樣,對於值是a和b的string,a在需要統計的時候可能和map結合,在使用完map後可以把map的內容轉到vector裡進行排序.

題目會很繁雜

一般寫起來會分比較多的情況,要求也比較多,寫起來很複雜,寫之前一定要構思好過程,避免返工.

可能在輸入時和輸出時都需要做過濾,一般我把過濾步驟放在輸入和從map轉到vector的過程中

注意排序函式的正確性.

就是排序唄,一般是使用結構體陣列進行排序,部分題還需要使用map統計

大多數是25分的題,用時大多在25-30分鐘,準確率不錯

一般的排序題直接sort秒

對於排序-統計之類的題,可以在排序之後使用map等進行統計然後再轉回陣列儲存的方法

對於要求多種排序的題,最好在一開始就有乙個排序來避免超過時間,但是很多種排序的題時間本身很充裕,對單獨的要求在要求處單獨排也行.

有些輸入可能是需要過濾的

排序後的陣列可能會是空的,

需要對輸出時候的陣列進行判空,

需要在輸入的時候進行控制

PTA 期末複習 題目總結

6 1 找兩個數中最大者 14 分 本題要求對兩個整數a和b,輸出其中較大的數。函式介面定義 int max int a,int b 其中a和b是使用者傳入的引數,函式返回的是兩者中較大的數。裁判測試程式樣例 include int max int a,int b int main 你的 將被嵌在這...

PTA題目記錄

題目 已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。輸入格式 輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。輸出格式 在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為...

pta題目 數字統計

問題描述 caisz有個女兒,已上幼兒園,在幼兒園中她學會了數數,但還不會做統計。現給定乙個數字串,長度小於100,統計0,1,2 9 的個數。好心的你幫幫她吧。輸入格式 輸入多組數字串,長度小於100 輸出格式 數字串中的各個數字的個數,數字統計按照0,1,2,3。9的順序輸出 輸入樣例 在這裡給...