從5隨機到7隨機及其擴充套件【題目】 給定乙個等概率隨機產生1~5的隨機函式rand1to5如下: public
intrand1to5()
除此之外不能使用任何額外的隨機機制,請用rand1to5實現等概率隨機產生1~7的隨機函式rand1to7。 【補充題目】
給定乙個以p概率產生0,以1-p概率產生1的隨機函式rand01p如下:
public
intrand01p() 除此之外不能使用任何額外的隨機機制,請用rand01p實現等概率隨機產生1~6的隨機函式rand1to6。 【高階題目】
給定乙個等概率隨機產生1~m的隨機函式rand1tom如下:
public
int rand1tom(int
m) 除此之外不能使用任何額外的隨機機制。有兩個輸入引數分別為m和n,請用rand1tom(m)實現等概率隨機產生1~n的隨機函式 rand1ton。
【題目】
1. publicintrand1to5()4.
5. publicintrand1to7() while (num > 20
);10. returnnum%7+1
;11. }
【題目】 給定乙個無序陣列arr,求出需要排序的最短子陣列長度。 例如:arr = [1,5,3,4,2,6,7] 返回4,因為只有[5,3,4,2
]需要排序。
【解】: 時間複雜度: o(n) 額外空間複雜度: o(1)
先左→右,找出max
再右→左,找min 因為求的是需要排序的最短子陣列長度。
1. 2. 3. 4. 5. 6. 7. 8. 9
.10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21
.publicintgetminlength(
intarr)
int min = arr[arr.length - 1
];int nominindex = -1; for(inti=arr.length-2;i!=-1;i--)
else
}if (nominindex == -1)
int max = arr[0
];int nomaxindex = -1
;for (int i = 1; i != arr.length; i++)
else
}return nomaxindex - nominindex + 1; }
左神牛課網講座第一發 演算法講解
給定 乙個字串str和它的 乙個最長回 文 子串行strlps,返回字串str在任意 位置新增最少字元後,整體都是回 文串的其中 一種結果。例如 str ab1c2de34f3ghj21kl strlps 1234321 返回 ablk1c2dejhg3f4f3ghjed2c1klba 解答 1,依...
2019牛課多校第二場F
本蒟蒻的部落格 有2n個人,任意兩個人之間有乙個競爭值,將這2n個人分成兩組,每組n個人,只有在不同組的兩人之間才計算他們的競爭值,問可以獲得的最大競爭值是多少。1 n 14 1 leq n leq 14 1 n 14 暴力列舉,一共有c 2814 40116600 c 40116600 c2814...
左神演算法 基礎班第二課 一 荷蘭國旗
問題 荷蘭國旗問題,給定乙個陣列,讓小於0的在左邊,大於0的在右邊,0在中間 如輸入 1,2,3,0,3,0 輸出 2,3,0,0,3,1 思路 設定3個游標l 0,r n 1,current 0 l的左邊小於0,r的右邊大於0,中間為0 三種情況 a current 0時,swap a curre...