微軟面試題模擬 蛇形矩陣Leetcode 54

2021-10-09 13:02:37 字數 552 閱讀 2631

1. 先不要一上來就寫**,先把問題的描述和邊界,以及思路和面試官說清楚。

2. 然後開始寫**

3. 寫**的時候,如leetcode那樣,實現乙個函式介面

這道題目使用o(n)空間的簡潔做法,利用了矩陣的規律,vector在使用的時候注意提前申請好空間,避免用push_back. 比較簡單的一題。

class solution ;

int dx = ;

int n = matrix.size();

vectorres;

if(n==0) return res;

int m = matrix[0].size(), r = m*n, x = 0, y = 0, l = 0;

res.resize(r);

vector> visited(n,vector(m));

for(int i=0;i=n||b<0||b>=m||visited[a][b])

x = a;

y = b;

}return res;

}};

面試題 蛇形矩陣

輸入兩個整數n和m,輸出乙個n行m列的矩陣,將數字1到n m按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。輸入格式 輸入共一行,包含兩個整數n和m。輸出格式 輸出滿足要求的矩陣。矩陣佔n行,每行包含m個空格隔開的整數。資料範圍 1 n,m 1001 n,m 100 輸入樣例 3 3輸出樣例 1 ...

微軟面試題

題目 小明和小強都是張老師的學生,張老師的生日是m月n日,2人都知道張老師的生日是下列10組中的一天,張老師把m值告訴了小明,把n值告訴了小強,張老師問他們知道他的生日是那一天嗎?3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 小明說 如果我...

微軟面試題

fly.c4 推薦您必看!六.演算法題 說明 這些題就不是什麼花樣了,考的是你的基礎知識怎麼樣。再聰明而沒有實學的人都將會被這些題所淘汰。1.鍊錶和陣列的區別在 2.編寫實現鍊錶排序的一種演算法。說明為什麼你會選擇用這樣的方法?3.編寫實現陣列排序的一種演算法。說明為什麼你會選擇用這樣的方法?4.請...