給定乙個整數序列,存放在陣列xs中,長度為n,請計算該序列的熵。熵的計算方法:對於乙個長度為n的序列xs,它包含m+1種不同的取值,s0,s1,…,sm,這些取值對應的出現概率分別為p0,p1,…,pm,則這個序列的熵為h(x)=-(p0log2(p0) + p1log2(p1) + … + pm*log2(pm)),其中,某個取值出現的概率p的計算方法為:這個取值出現的次數/長度n。
double
entropy
(int
xs)
else
}//拿到map中所有key的集合,用於取值
object[
] keys = map.
keyset()
.toarray()
;//求熵
for(
int p=
0;p < map.
size()
;p++
)return sum*-1
;}
面試概率題
設第一段截 x,第二段截 y,第三段 1 x y。考慮所有可能的截法。可能的截法中必須保證三條邊都是正數且小於原來邊長,則有 0 x 1,0 y 1,0 1 x y 1。畫圖可知,x,y 必須在單位正方形的左下角的半個直角三角形裡,面積為 1 2。然後考慮能形成三角形的截法。首先要滿足剛才的三個條件...
最短路徑應用題
在沙漠中有n個城邦國家 編號0 n 1 每天都有商隊從本國出發將本國商品運到其它各個國家,到達各個目的國家後又將該國的商品運回本國。在前往目的國家的路程中,商隊可能要需要從其它國家境內穿過。每穿過乙個國家商隊就需要獲得一張該國的通關卡,以便該商隊當天沿原路返回時使用。經過多年的摸索,每支商隊都已經掌...
線性表 綜合應用題
設計乙個演算法,將順序表中所有元素逆置。void reverse sqlist l 設計乙個演算法,從一給定的順序表 l 中刪除下標 i j i leq j,包括 i j 的所有元素,假定 i j 都是合法的。void delete sqlist l,int i,int j l.length del...