pat 甲級 1101(細節題)

2021-09-01 08:34:23 字數 446 閱讀 9263

思路:找合適作為pivot point的點,要求是左邊的數字全部小於它,並且右邊的數字全部大於它

可以先從左開始向右判斷符合左邊數字全小於它的(大於最大值),然後再從右向左判斷右邊數字大於它的(小於最小值)

注意:結尾一定要將換行分開輸出,不然寫成cout《要求的兩行不符。

#include#include#include#includeusing namespace std;

const int maxn = 100010;

int a[maxn],vis[maxn],b[maxn];

int main(void)

for(j=0,i=0;iif(vis[i]==0) b[j++]=a[i];

sort(b,b+j);

cout

}

PAT甲級真題1101 快速排序(DP)

在著名的快速排序中,有乙個經典的過程叫做劃分。在此過程中,我們通常選取其中乙個元素作為分界值。將小於分界值的元素移到其左側,將大於分界值的元素移到其右側。給定 n個不同的正整數進行過一次劃分後的排列情況。請你判斷,共有多少元素可能是此次劃分的分界值。例如,n 5,各元素排列為 1,3,2,4,5,則...

PAT甲級刷題

給定兩個字串s1和s2,刪除s1中在s2 現過的字元設定flag陣列,初始化為0。遍歷s2並將其字元轉化為ascii碼值,並在flag陣列中相應位置值標記為1,表示它出現過。再遍歷s1,若對應字元ascii碼值在flag陣列中相應位置值標記為0,則輸出。就是hash的思想,時間複雜度o len s1...

pat 甲級 1093(邏輯題)

思路 1 要找pat的數量,先找到a在找到a前面p的個數c1,再找出a後面t的個數c2,就能求出這個a構成的pat的個數,就是c1 c2 2 優化 先找出所有t的個數,然後每次遇到乙個t就減少1,遇到乙個p就 1,遇到a就已經知道 a前面的p和a後面的t。3 反思 一開始想用暴力,後來暴力不行就像找...