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.請...