求教乙個字串生成的演算法?

時間 2021-06-03 13:31:28

1樓:

我覺得沒必要考慮高不高效,只要考慮好生成的字串怎麼存就行了,因為你要的是長度為n的所有組合,那麼必然會輸出所有的字串,所以不管啥演算法都不能使時間複雜度降低到輸出所用時間以下。

2樓:zanxas

乙個string佔多少記憶體?

用char陣列還是string考慮過沒?

26+10=36

36的五次方是多少?

你的電腦記憶體是多少?

你的需求真的是要把它們存到乙個物件中? 不能輸出乙個釋放再輸出嗎?

3樓:Jim Liu

方法1:用全排列做

方法2:用36進製做

為什麼OutOfMemoryException?當然是因為記憶體用太多了啊……

考慮:1:是不是需要把這麼多東西都放記憶體裡?存著它幹啥啊要查字典嗎。

2:真要存的話,需要多大記憶體是可以直接算出來的。

3:存不下的話就放外面咯,檔案大小也是可以直接算出來的。

4樓:周聰

結果存到什麼地方取決於你做這個用來幹嘛,單純為了驗證這個演算法的話存到哪都可以,寫到文字檔案都行。因為這個東西做出來了,生成5位跟生成100位是一樣的。

你要生成n位就開乙個n位的int陣列,每一位理解為乙個36進製數(大寫字母+數字),每次加1就行了麼,數量應該是36^n

2021 06 08 乙個字串至少要切幾刀能讓切出來的子串都是回文串?

時間拓荒者 在PAM上dp就好了,類似CF906E,複雜度是線性帶乙個字符集大小的。貌似用manacher可以線性,不會 kk 大概就是這樣的 分析可以見回文樹 OI Wiki f 0 0,g 0 1 for int i 1 i slen i last insert last,s i i for i...

python如何判斷乙個字串是浮點型資料?

defis number text try float text if in text return 0 浮點 else return 1 整數 except pass return 1 不是數字 學而時習 defget float s if not ins return None try retu...

在C語言中,怎麼做到輸入乙個字串,過濾此串,只保留串中的數字,並進行加減乘除?

class Catbool IsBreak charCh return false intStrToInt char Str int Sum 0 for p p return Sig Sum public void InputStr char Str int Size char p Str 1 ch...