2019網易筆試(1 3題)

2021-09-24 19:26:27 字數 3235 閱讀 9084

目錄

1. 代價

2. 訪友

3. 翻轉翻轉

你有3個需要完成的任務,完成這3個任務是需要付出代價的。

首先,你可以不花任何代價的完成乙個任務;然後,在完成了第i個任務之後,你可以花費|ai - aj|的代價完成第j個任務。|x|代表x的絕對值。

計算出完成所有任務的最小代價。

輸入描述:

一行3個整數a1,a2,a3,每個數字之間用乙個空格分隔。所有數字都是整數,並且在[1,100]範圍內。
輸出描述:

乙個整數,代表最小的代價。
輸入例子1:

1 6 3

輸出例子1:

輸入例子2:

10 10 10

輸出例子2:

思路:將資料排序,從最後乙個開始,依次往前,累加當前任務和前乙個的差即可。

#include #include #include using namespace std;

int main()

sort(data.begin(),data.end()); //排序

for (size_t i = data.size()-1; i >0; i--)

cout《小易準備去拜訪他的朋友,他的家在0點,但是他的朋友的家在x點(x > 0),均在一條座標軸上。小易每一次可以向前走1,2,3,4或者5步。問小易最少走多少次可以到達他的朋友的家。

輸入描述:

一行包含乙個數字x(1 <= x <= 1000000),代表朋友家的位置。
輸出描述:

乙個整數,最少的步數。
輸入例子1:

4
輸出例子1:

1
輸入例子2:

10
輸出例子2:

思路一:一直往前走,每一步都邁最大的步子

#include #include #include using namespace std;

int main()

else

cout<給定乙個n*m的矩陣,在矩陣中每一塊有一張牌,我們假定剛開始的時候所有牌的牌面向上。

現在對於每個塊進行如下操作:

> 翻轉某個塊中的牌,並且與之相鄰的其餘八張牌也會被翻轉。

******

***如上矩陣所示,翻轉中間那塊時,這九塊中的牌都會被翻轉一次。

請輸出在對矩陣中每一塊進行如上操作以後,牌面向下的塊的個數。

輸入描述:

輸入的第一行為測試用例數t(1 <= t <= 100000),

接下來t行,每行包含兩個整數n,m(1 <= n, m <= 1,000,000,000)

輸出描述:

對於每個用例輸出包含一行,輸出牌面向下的塊的個數
輸入例子1:

5

1 11 2

3 14 1

2 2

輸出例子1:

101

20

思路一:分三種情況

1. 一行一列的只能翻一次,返回1

2. 1*m或n*1的情況一種,兩頭牌翻兩次不變,中間的牌翻三次,向上變為向下,總的牌數減2即為結果

3. m*n的情況,4個角的牌被翻4次不變,4個邊上除了角上的牌,會被翻6次也不變,中間的牌會被翻9次,向上變為向下,所以只要統計中間的牌有多少張就好,注意測試資料很大,需要用long long型別。

#include #include #include using namespace std;

int main()

for (int i=0;i思路二:對每一張牌按照題目要求進行翻牌操作,在這裡為了避免最外一層的牌需要判斷邊界的問題,在最開始的時候在最外層加一層牌,這樣就避免了邊界判斷的問題。

#include #include #include using namespace std;

int main()

for (int i=0;idata1.push_back(data_tmp);

data_tmp.clear();

for (int j=0;jdata_tmp.push_back(0);

data1.push_back(data_tmp);

data_tmp.clear();

} for (int j=0;jdata1.push_back(data_tmp);

data_tmp.clear();

for (int m=1; melse}}

}} for (int m=1; m}

} result.push_back(res);

res = 0;

data1.clear();

} for (int i=0;i//cout

}

2019網易實習程式設計題筆試

牛牛總是睡過頭,所以他定了很多鬧鐘,只有在鬧鐘響的時候他才會醒過來並且決定起不起床。從他起床算起他需要x分鐘到達教室,上課時間為當天的a時b分,請問他最晚可以什麼時間起床 輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含乙個正整數,表示鬧鐘的數量n n 100 接下來的n行每行包含兩個整...

2019網易秋招筆試 程式設計題 塔

小易有一些立方體,每個立方體的邊長為1,他用這些立方體搭了一些塔。現在小易定義 這些塔的不穩定值為它們之中最高的塔與最低的塔的高度差。小易想讓這些塔盡量穩定,所以他進行了如下操作 每次從某座塔上取下一塊立方體,並把它放到另一座塔上。注意,小易不會把立方體放到它原本的那座塔上,因為他認為這樣毫無意義。...

2020 08 08網易筆試

注釋部分 超時了,優化後如下 def test1 n int input arr list map int input strip split n res 0for i in range n res countprime arr i return res defcountprime n if n 2...