聽過一些小夥伴被問到乙個問題,題目就是:
給你乙個字串,還有這些字串出現的權重,讓你隨機生成字串,並且字元的權重越高,出現的概率越大。
分析:假設有三個字元:a , b ,c ,它們的權重分別是2,3,5。我們要生成的字串中的字元必須是這三個字元之一,因為但是權重不同,a,b,c分別佔總權重的比例是:20%,30%,50%,這也是它們生成的概率,概率都出來了,那就得根據概率多的,命中的概率越多,於是,來分配乙個數字區間[1,10],然後按照出現的概率來分每個字母占用的子區間,概率高的,占用的就越高,可以這樣分配:a-[1,2] , b-[3,5],c-[6,10],我們用rand()來生成乙個隨機數,如果生成的數不是[1,10]之內的,就丟棄掉,這樣就可以使在[1,10]之間生成每個數的概率都是一樣的,然後根據每次生成的數字去找屬於哪個字元的,就選用哪個字元。偽**如下:
def procedure:
a<-[1,2], b<-[3,5], c<-[6,10]
num <-rand()
if num in
[1, 10]:
if num in [1, 2]:
return a
else if num in [3, 5]:
return b
else return c
else return procedure
根據字元分割字串
create or replace procedure get split v string1 in varchar2,輸入的字串 v start in number,開始擷取的位置 v length in number,擷取的字元個數 v split in varchar2 分隔符號 as v s...
根據字串分組
今天要做乙個根據字串分組,然後集體執行乙個操作,想了一上午,動態建立陣列什麼的,最後還是用了list。list alllist new arraylist string m1 a123 x1 string m2 a124 x1 string m3 a125 x2 string m4 a126 x2 ...
生成字串
description 假設乙個字串只由字元 0 1 組成,其中字元 表示該字元可由字元 0 或 1 替代。現有一些字串,根據這些字串生成所有可生成的字串。如 可生成 可生成注意後乙個例子中 01 並沒有生成新的字串。input 輸入包含多組測試資料。每組資料的第一行是兩個整數m,n 1 m 15,...