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代表不能經過的地區...