1.將數(shù)組從小到大輸出
面試官描述為:有一個數(shù)組,前部分(注意并未說前半部分)非遞減惠猿,后部分非遞增羔砾,要求將該數(shù)組從小到大輸出,時間復雜度O(n)偶妖,空間復雜度O(1)姜凄。
當時我的思路是排序后順序輸出,但是只能做到時間復雜的O(nlogn)趾访。面試完Google并沒有找到該題目态秧。
2.將二維正方形矩陣從右上角沿對角線輸出
輸入為非負整數(shù)N,該數(shù)等于右上角數(shù)值扼鞋,即為矩陣邊長申鱼。
我當時的想法是沿對角線一行一行輸出愤诱,輸出為單獨的函數(shù),給它起始捐友、結(jié)束位置即可淫半,面試完后發(fā)現(xiàn)是錯的,起始匣砖、結(jié)束位置的公式寫錯了科吭。如下是正確解法
vector<int> arrayPrint(vector<vector<int> > arr, int n) { vector<int> result; int row = 0, col = n-1; while(row < n) { int i = row, j = col; while(j<n && i<n) { result.push_back(arr[i][j]); i++; j++; } if(j == n && i < n) col--; if(i == n) row++; } return result; }
3. C++基礎(chǔ)
1. int (*s[10]) (int)
s為指針數(shù)組,其中的每一個元素為參數(shù)為int猴鲫,返回值為int的函數(shù)指針对人。
2. C++是類型安全的嗎
不是。因為C++中0可以代表bool類型變量中的false拂共,非0可代表true
然后牺弄,后來還問了些最近有沒有做一些什么項目之類的,目測跪了匣缘,發(fā)揮的太糟糕了猖闪。