今日頭條2018秋招筆試題(一)尋找球迷群體

2021-08-22 18:01:14 字數 782 閱讀 5694

問題描述:

有乙個m*n的二維球場看台,已知同乙個球迷群體的球迷會選擇相鄰座位,不同球迷群體的球迷選擇不相鄰的座位。給定座位選擇矩陣(0表示未選擇,1表示已選擇),要求找出球迷群體的個數以及最大的球迷群體的人數。

(相鄰包括前後、左右、斜對角相鄰)

問題分析:

對於每乙個座位,採用遞迴方法檢視其8個相鄰位置。對於已經訪問過的位置,注意做標記。

**實現:

#include #include using namespace std;

int check(int i, int j);

int m, n; // m行n列

vector> seats; // 沒球迷:0,有球迷:1,若被訪問過,則置為-1

void main()

seats.push_back(row);

} // 聚合

int groupsize;

int maxsize = 0;

int groupnum = 0;

for (int i = 0; i < m; i++) }

// 輸出

cout << groupnum << "," << maxsize << endl;

cin.get();

}// 以i, j為中心遞迴搜尋

int check(int i, int j)

今日頭條筆試題(一)

一列火車有n個車廂標記為1,2,3,4,5,6 n 現在因為某些原因,需要調整車廂的相對順序 例如需要將車廂順序調整為2,3,1,4,5,6 n 由於車廂龐大,且車廂只能停留在鐵軌上,所以不能隨心所欲的調整相對順序 現在只能利用兩條並行的鐵軌對車廂的順序進行調整 例如原序列為1,2的車廂 車廂1進入...

今日頭條2018 筆試題2

定義兩個字串變數 s,m,再定義兩種操作,第一種操作 m ss s s 說明 s只會變為原來的2倍 第二中操作 s s m 假設s,m初始化如下 s a m s求最小的操作步驟數,可以將s拼接到長度等於n。示例1 輸入6,輸出3 示例2 輸入4,輸出2 思路 第一種操作,s變為原來的1倍 說明偶數的...

2017 08 22 今日頭條筆試題

有乙個值得分享的地方,是x排序之後對應y的問題 我用了乙個很大的陣列,以x為索引,y為陣列值,不需要用到map。其實也是因為我懶不想去學map操作了,下次試試用map。include include include using namespace std int main cin n x.clear...