原创 PAT分類解析專輯說明

這個專輯主要是程序設計剛剛入門時候的做題心得與積累 目前已經完成的是入門模擬 和字符串操作 在PATB中兩部分總共佔有20道題,(目前總55題),基本分數爲 15 ,20分 是簡單題目。 後面又是將對每個題目的打上標籤 ,以

原创 二路-歸併排序歸納

【遞歸二路劃分 + 分割後的2個數組歸併】 //歸併排序:遞歸二路劃分+歸併思想==二路,歸併排序 //函數的參數列表是:a,l,r;這是每次需要循環遞歸的初始條件 :數組(操作對象),兩個端點 //不需要初始化端點,端點由函

原创 PATB1029: 字符統計

PATB1029: 字符統計 【思路】: HASH經常用來求兩個集合的交 集 補集等 。去重小能手 1首先對目標集合中的元素進行HASH,這裏面試大小寫不區分,且只需要輸出小寫,所以統一轉換成小寫 isalpha(s[i])判斷是

原创 PATB1002:寫出這個數

PATB1002:寫出這個數 【思路】: bit[index] 用hash有條件的輸出 。思路和上題目基本類似 【參考答案】 #include <cstdio> #include <cstring> //位--》數字--》位

原创 PATB1048:數字加密

PATB1048:數字加密 【思路】: 輸入 循環 判斷,只需要對每個元進行一次操作即可 【知識點】 雜類用hash表示 char has_z[3] = { 'J', 'Q', 'K' }; 【知識點】 對於c的字符數組可

原创 算法入門:雙指針法

一、雙指針法 【例子1】 :求一個有序數組中和=8的下標。 ===================================== 設置兩個不同的指針 ,或者頭,或者尾。在一個遞增的序列中,。 根據結果分類,說明指針的下一步應

原创 遞歸調用理解【含有示例代碼】

【思路】:把遞歸想成一顆樹,根節點一直往下遍歷【先根】,DFS()後面的是從葉子節點開始往上遍歷【後跟遍歷】 退出循環是先根遍歷結束 1 每一級的函數調用都有自己的局部變量. 2 遞歸函數中,位於遞歸調用語句後的語句的執行順序和各

原创 PATB1047: 輸出PATest

PATB1047: 輸出PATest 【思路】: 設置字典爲PATEST,同時設置HAsh來記錄dict的次數 ,兩者是一一對應的; 兩個數組的遍歷 兩個for循環即可, for (int i = 0; i < s.siz

原创 PATB1014:福爾摩斯的約會

PATB1014:福爾摩斯的約會 【思路】: 輸入 四個字符串 ,分別求其第一個滿足條件的字符。用Hash輸出 【知識點】 求第一個滿足條件的字符用 for break及時退出循環 一個字符串中分兩次不同的的遍歷 來判斷

原创 (BFS)廣度優先搜索例子:迷宮,尋找連塊數

//廣度優先搜索 主要分成以下幾塊 0、節點node結構體; 1、matrix[][],原始矩陣 2、增量數組X[],Y[] 實現該座標的左右上下的更新座標 3、判斷時候下一個元素需要入隊列的函數 4、記錄元素座標時候已經訪問的i

原创 PATB1039: 到底買不買

PATB1039: 到底買不買 【經典】 【思路】: 在集合1中 找出其個數 字符都小的集合M, 首先hash s1 記錄次數 然後對照 s2如果有,就hash–;if(hash<0)則說明缺少了 【參考答案】 //這是一道十分典

原创 選擇排序初步理解

//選擇排序初步理解 0,循環n趟。下面1,2是循環體: 1,從沒有排序中找出最小值 。 minIndex = i;//待交換的索引:也就是從List[i+1]--List[n-1]處找到最小值索引,

原创 PATB1031:查驗身份證

PATB1031:查驗身份證 【思路】: 輸入 遍歷每個字符 分類 不符合的用flag標記 通過標記輸出結果 1、含有X的 2、不含有X 但是驗證不通過的 都是用標記flag 3、通過標記輸出結果 【知識點】 如果中途b

原创 二分查找模板總結(遞歸與循環遍歷兩個版本)

二分查找: 思路: 在有序*數組***a[]中查找K 1,不斷分割 。 2 用中間值去比較。 ====================嘗試比較下面兩種,得到遞歸函數的寫法========= 【遞歸版本】 int BinSe

原创 PATB1029: 舊鍵盤

PATB1029: 舊鍵盤 【方法二】 【思路】: HASH經常用來求兩個集合的交 集 補集等 。去重小能手 首先對目標集合中的元素進行HASH,這裏需要統一大小寫‘: b[i] = towupper(b[i]); 【知識點】