菜鳥的機試準備 王道機試指南 演算法筆記

2021-10-24 15:52:56 字數 2405 閱讀 2881

字串雜湊

100000582-b

100000582-c

100000582-d

今天第幾天?(清華)

#include

#include

using

namespace std;

int month_tab[2]

[13]=

,};bool

is_leapyear

(int year)

intmain()

}else

}//上邊的if-else寫的有的重複,下為王道書上的寫法

/* int row = is_leapyear(year);//true---1;false---0

for(int i=1;i//程式執行方面差別不大,但寫起來第二種方法更簡潔。

res+

=day;

printf

("%d"

,res);}

}return0;

}

給出年分m和一年中的第n天,算出第n天是幾月幾號(華中科技大學)

#include

#include

using

namespace std;

int month_tab[2]

[13]=

,};bool

is_leapyear

(int year)

intmain()

printf

("%04d-%02d-%02d\n"

,year,month,day);}

return0;

}

include

string str=

"345"

;int answer=0;

//使用單個字元-'0'實現字串到數字的轉換

answer=

(str[1]

-'0')*

(str[2]

-'0'

);

用後續字母替代

if

(str[i]

=='z'

||str[i]

=='z'

) str[i]-=

25;elseif(

('a'

<=str[i]

&&str[i]

<=

'z')||(

'a'<=str[i]

&&str[i]

<=

'z')

) str[i]

++;

#include

#include

using

namespace std;

intmain()

;//3

int book[

200]=;

for(

int i=

0; i)for

(int j=

0; j}

使用scanf輸入時要用引用&,無論是陣列還是數值

本題要特別注意下標間的對應,是從0開始還是從1開始

陣列初始化賦0,否則可能會出現錯誤,本題如果不初始化就顯示答案錯誤。

一直顯示答案錯誤,但是樣例測試和隨便找組數測試都能通過

使用set需要#include當有多個數字滿足條件時,輸出先輸入的數字,因此對於輸入的數字應該使用陣列儲存,不能使用set

陣列儲存最終會按照輸入的順序比較;如果使用set最終按照數字大小的順序比較

本題思路:輸出時只輸出第乙個字串有的第二字串中沒有的字元;第二個字串中的字元用set儲存

#include

#include

#include

#include

using

namespace std;

intmain()

for(

int k=

0;ksize()

;k++

)}

set中find()的用法

getline()用法:從輸入流中讀取一行字元,讀到終止符時會將』0』存入結果緩衝區中,作為輸入的終止。終止符可以是預設的終止符,也可以是定義的終止符。

getline

(cin, inputline)

;

其中 cin 是正在讀取的輸入流,而 inputline 是接收輸入字串的 string 變數的名稱。

the show must go on.

to be continued…

王道機試 搜尋

case1 百雞問題,三重迴圈的,在判斷 3時,因為是取整是去尾的,我用了 z 2 3,這樣就不會因為去尾造成問題了 includeusing namespace std int main return 0 其實可以優化為二重迴圈 王道上 迴圈變數x和y的範圍分別是100和100 x,這樣z就一定是...

王道機試指南NO 4Day Of Week

時間限制 1s 記憶體限制 32mb輸入乙個日期,要求輸出該日期為星期幾 9 october 2001 14 october 2001 tuesday sunday 1 日期類問題,先預處理出每個日期與原點日期 0年1月1日 之間的天數間隔,存入buf三維陣列。2 看到題目考慮兩個問題 今天星期幾?...

王道機試指南 P1

p1 結構體陣列排序 核心在於1.使用結構體,2,使用sort和對應的cmp 3.字串使用strcmp比大小 先建立乙個結構體用來存對應的數值 struct estu 100 bool cmp e a,e b intmain return0 p1 這道題的關鍵是在於,因為給定的值是乙個範圍的,所以可...