今天下午阿里電面的題目,給定乙個字串,輸出其所有連續子串,如:給定字串為abcd,則要輸出的其全部連續子串為:a,b,c,d,ab,bc,cd,abc,bcd,abcd。
很快給出了最簡單的方法,就是先從第乙個字元遍歷,向後輸出,再從第二個字元開始遍歷,向後輸出,依此類推,直到開始遍歷的字元為陣列的最後乙個字元。這個時間複雜度很高啊,要o(n*n*n)。
接下來就假設字串很大,想優化的方法,不知道腦子是短路了還是咋地,居然聯想到trie樹上去了,完全不沾邊的東西。電面後想了下,感覺應該用遞迴,吃完飯,去圖書館用紙畫了下,就是遞迴(還是a題a的少啊!)。後來寫出來**感覺貌似木有提高時間複雜度哦!
先貼出來吧,首先是最簡單的遍曆法,時間複雜度為o(n*n*n)
指標方面的題目
試題 void test1 試題2 void test2 strcpy string,str1 試題3 void test3 char str1 編寫乙個標準 strcpy 函式 為了 實現鏈式操作,將目的位址返回 char strcpy char strdest,const char strsrc...
阿里筆試題目
題目描述 乙個 的訂單中包含n 10 n 1 種商品a1,a2,an,每種商品數量分別為a1,a2,an個,記做 ak 0 訂單在倉庫生產過程中,倉庫為了提公升作業效率,會提前對熱門組合商品進行預包裝。假設這n個商品有m 9 m 1 個商品組合,每個組合bomk包含a1,a2,an的數量分別為 bk...
杭電ACM題目分類
基礎題 1000 1001 1004 1005 1008 1012 1013 1014 1017 1019 1021 1028 1029 1032 1037 1040 1048 1056 1058 1061 1070 1076 1089 1090 1091 1092 1093 1094 1095 1...