阿里一則字串輸出的問題:
給定乙個字串,輸出其所有連續子串,如:給定字串為abcd,則要輸出的其全部連續子串為:a,b,c,d,ab,bc,cd,abc,bcd,abcd。
網上乙個兄弟給出的方法:
就是先從第乙個字元遍歷,向後輸出,再從第二個字元開始遍歷,向後輸出,依此類推,直到開始遍歷的字元為陣列的最後乙個字元。這個時間複雜度很高啊,要o(n*n*n)。
我認為另乙個方法可能更好:
假設abcd為4位二進位制數,每個位置上字母出現為1,不出現為0,則從0001(1)遍歷到1111(15)即可找出滿足條件的字串,複雜度為o(n):
0001 d
0010 c
0011 cd
0100 b
0101
0110 bc
0111 bcd
1000 a
1001
1010
1011
1100 ab
1101
1110 abc
1111 abcd
VS中輸入字串和輸出字串問題
因為自己剛開始用vs,不是很習慣,今天發現乙個問題,就是我想實現輸入一段字串,然後在將它輸出來,發現沒有輸出,反而是聽了一會兒,然後閃退了,同樣的 放到dev c 執行卻很好使,我的 如下 include stdio.h include stdlib.h include string.h int m...
字串的逆向輸出
比如說給定一字串 i love shanlijuan 那麼它的逆向輸出就是 shanlijuan love i 這裡空白符作為單詞的分割符。方案一 使用標記法,需要乙個快取區。但是比較容易理解,就是逆向掃瞄源字串,把每個單詞正向拷貝到快取區,如下 void reverseword char p st...
字串指標的輸出
include int main void 1.printf s str 輸出的結果是 我的夢想是當一名程式猿 這句話的意思是列印整個str所指向的字串.沒有星號是因為前面有個 s,s是string字串的意思,那麼後面就得是乙個字元指標,字串是預設char型別的陣列,所以被同樣當作首位址,列印不需要...