技術面手撕**的原題~
要求用c++寫
樓主比較菜面試時候又比較緊張面試官又看著我寫,因此當場只寫出來乙個通用的解法,本以為面試官會讓我優化時間複雜度,結果沒有,只是測試了一下我的**,每個測試點都通過了
我的想法是,因為要求最大公共字首嘛,結果肯定不可能比這些字串中最短的長,所以首先求出最短的字串長度假設長度為n,只考慮每個字串的前n個字元,一來是避免不必要的運算,二來是避免訪問字串的時候陣列越界帶來不必要的bug,然後以第乙個字串為基準,每次檢查剩下所有字串的第i個字元是否與第乙個字串的第i個相等,如果出現不等,說明之前的i個字元已經不是公共字首了,直接退出迴圈取前i-1個字元返回即可
面試時候寫的c++**如下:
#include
#include
using
namespace std;
string longestcommonprefix
(vector
&strs)
int i=0;
for(
;iif(sign==2)
break;}
return strs[0]
.substr(0
,i);
}
cvte c 實習生面試題目
這個面試是 面的,一開始問了有關的專案經歷之後就開始問以下的這些問題,整個面試過程大約30分鐘。在c 中,源程式變為可執行程式的正確順序 虛函式,純虛函式,多型性 函式過載 堆疊智慧型指標 種類,實現原理 malloc free和 new delete的區別 c和c 的區別 常見的stl函式 如何寫...
華為實習生面試題 跳躍比賽 C 實現
師兄參加了華為的實習生招聘,我也蹭了一下熱鬧。給出一組正整數,你從第乙個數向最後乙個數方向跳躍,每次至少跳躍1格,每個數的值表示你從這個位置可以跳躍的最大長度。計算如何以最少的跳躍次數跳到最後乙個數。第一行表示有多少個數n 第二行開始依次是1到n個數,乙個數一行 輸出一行,表示最少跳躍次數。輸入輸出...
筆試面試 2015華為軟體開發實習生
簡單題 10個數字位取3個組成乙個三位數 不能重複 使得這三位數的值最大。方法 這個是送分題,我比較懶,直接用set 來存放,然後輸出後面三個位置的值來搞定 奇偶數排序問題 問題描述 一串無序的數字,先根據所以奇數的逆序排序,再輸出所有偶數的順序排序數值。方法 很簡單,基本兩個排序就可以搞定。最大的...