刷題筆記day7

2022-08-26 03:39:13 字數 3108 閱讀 9581

【pat1006】 sign in and sign out 

考察點在於qsort函式cmp的寫法。

#include#include

char name[16][100

];struct

stua[

100];

int cmp1(const

void* a,const

void*b)

else

}else

}int cmp2(const

void* a,const

void*b)

else

}else

}int

main()

qsort(a,n,

sizeof(struct

stu),cmp1);

printf(

"%s

",a[0

].name);

qsort(a,n,

sizeof(struct

stu),cmp2);

printf("%s

",a[0

].name);

}

【pat a1007】maximum subsequence sum

開闢額外陣列空間,儲存first和last

#includeint a[10005

];int dp[10005

];int first[10005

];int last[10005

];int

main()

dp[0] = a[0

]; first[

0] = 0

; last[

0] = 0

;

for(i=1;i)

else

}int max = dp[0

];

int k=0

;

for(i=1;i)

}if(max<0

) printf(

"0 %d %d\n

",a[0],a[n-1

]);

else

printf(

"%d %d %d\n

",max,a[first[k]],a[last[k]]);

}

【pat a1008】 elevator 

#includeint

main()

else

now =des;

ans += 5

; }

printf("%d

",ans);

}

【pat a1009】 product of polynomials

要注意陣列c的大小大於2000

#includedouble a[1005] = ;

double b[1005] = ;

double c[3000] = ;

intmain()

scanf("%d

",&k2);

for(i=0;i)

for(i=0;i<1005;i++)}}

}int ccount=0

;

for(i=0;i<3000;i++)

printf("%d

",ccount);

for(i=2999;i>=0;i--)

}}

【pat a1010】 radix 

看了答案才知道,本題radix的範圍是2~int_max(?),本來以為由於字母和數字限制,表示的範圍是2~35。

另外乙個坑是,由於範圍過大,要使用二分法。

最坑的乙個坑是,由於radix太大,longlong也可能會溢位。需要判斷,如果結果為負數,那麼說明已經溢位。

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

intmain()

else

n1.pop_back();

index++;

}long

long temp = 0

;

for (int i = 0; i < n2.length(); i++)

if (temp >= 97) temp -= 87

;

else temp -= 48

;

long

long left = temp + 1

;

long

long right = a + 1

; res = a + 2

;

while(left <=right)

else

tempn2.pop_back();

index++;

if (b > a || b < 0) break

; }

if (a ==b)

else

if (b > a || b < 0

)

else

if (b }

if (res == a + 2) cout << "

impossible

"

}

【pat a1011】 world cup betting

輸出double型別,使用%f

#includechar s[3] = ;

double t[3] = ;

int ti[3] = ;

intmain()}}

for(i=0;i)

double ans =( t[0]*t[1]*t[2]*0.65-1)*2

; printf(

"%.2f

",ans);

}

LeetCode刷題之旅(Day7)

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉...

Python學習筆記 day7 類

物件導向最重要的概念就是類 class 和例項 instance 比如球類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。在python中,定義類是通過class關鍵字 class people object 自定義乙個people類,括號內的objec...

Python小白學習筆記 day7

第七章 python檔案和資料格式化 學習筆記 對檔案操作完成後即使不關閉程式也不會報錯,所以可以不關閉檔案 將乙個檔案與程式中的物件關聯起來的過程,稱為檔案開啟 csv檔案的特點 1.非二進位制檔案,而是純文字格式,通過單一編碼標識字元 2.以行為單位,開頭不留空行,行之間沒有空行 3.每行表示乙...