筆試練習 美團筆試題(一)

2021-07-26 13:00:56 字數 1302 閱讀 4147

1、棋子翻轉

在4x4的棋盤上擺滿了黑白棋子,黑白兩色的位置和數目隨機其中左上角座標為(1,1),右下角座標為(4,4),現在依次有一些翻轉操作,要對一些給定支點座標為中心的上下左右四個棋子的顏色進行翻轉,請計算出翻轉後的棋盤顏色。

給定兩個陣列a和f,分別為初始棋盤和翻轉位置。其中翻轉位置共有3個。請返回翻轉後的棋盤。

測試樣例:

[[0,0,1,1],[1,0,1,0],[0,1,1,0],[0,0,1,0]],[[2,2],[3,3],[4,4]]
返回:[[0,1,1,1],[0,0,1,0],[0,1,1,0],[0,0,1,0]]

題目分析:本題主要考查二維陣列,掌握0變1,1變0最簡單的辦法--異或法。比較容易犯錯的地方就是沒有注意陣列的越界問題。

**展示:

class flip 

if(y - 1 >= 0)

if(x + 1 <= 3)

if(y + 1 <= 3)

} return a;

}};

2、最大差值

有乙個長為n的陣列a,求滿足0≤a≤b給定陣列a及它的大小n,請返回最大差值。

測試樣例:

[10,5],2
返回:0

題目分析:本題的重點就是找到最小值,然後找到最大的差值。

**實現:

class longestdistance 

return maxdiff;

}};

3、平均年齡

已知某公司總人數為w,平均年齡為y歲(每年3月末計算,同時每年3月初入職新人),假設每年離職率為x,x>0&&x<1,每年保持所有員工總數不變進行招聘,新員工平均年齡21歲。 

從今年3月末開始,請實現乙個演算法,可以計算出第n年後公司員工的平均年齡。(結果向上取整)。 

輸入描述:

輸入w y x n

輸出描述:

輸出第n年後的平均年齡

題目分析:本題需要注意的是,每過一年,平均年齡必然增加一歲。還有,就是年齡向下取整,這裡可以呼叫函式ceil()進行上取整,當然floor()函式可以下取整。這兩個函式所在的標頭檔案都是math.h。

**實現:

#include #includeusing namespace std;

int main()

cout << ceil(y) << endl;

}}

筆試練習 去哪兒筆試題

1 二分查詢 對於乙個有序陣列,我們通常採用二分查詢的方式來定位某一元素,請編寫二分查詢的演算法,在陣列中查詢指定元素。給定乙個整數陣列a及它的大小n,同時給定要查詢的元素val,請返回它在陣列中的位置 從0開始 若不存在該元素,返回 1。若該元素出現多次,請返回第一次出現的位置。測試樣例 1,3,...

筆試練習 去哪兒筆試題

1 二分查詢 對於乙個有序陣列,我們通常採用二分查詢的方式來定位某一元素,請編寫二分查詢的演算法,在陣列中查詢指定元素。給定乙個整數陣列a及它的大小n,同時給定要查詢的元素val,請返回它在陣列中的位置 從0開始 若不存在該元素,返回 1。若該元素出現多次,請返回第一次出現的位置。測試樣例 1,3,...

美團筆試題 拜訪

題目描述 現在有乙個城市銷售經理,需要從公司出發,去拜訪市內的商家,已知他的位置以及商家的位置,但是由於城市道路交通的原因,他只能在左右中選擇乙個方向,在上下中選擇乙個方向,現在問他有多少種方案到達商家位址。給定乙個地圖map及它的長寬n和m,其中1代表經理位置,2代表商家位置,1代表不能經過的地區...