摘要: 蓄水池算法 假设有一个源源吐出不同球的机器,只有装下10个球的袋子,每一个吐出的球,要么放入袋子,要么永远扔掉,如何做到机器吐出每一个球之后,所有吐出的球都等概率被放进袋子里? 思路:第k个球到来的时候,以10/k的概率放入袋子,扔的时候10个里面随机选一个 public class RandomB 阅读全文
posted @ 2021-12-30 14:55 请务必优秀 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 如果某个递归,除了初始项之外,具有如下的形式 F(N) = C1 * F(N) + C2 * F(N-1) + … + Ck * F(N-k) ( C1…Ck 和k都是常数) 并且这个递归的表达式是严格的、不随条件转移的 那么都存在类似斐波那契数列的优化,时间复杂度都能优化成O(logN) 棋盘马走 阅读全文
posted @ 2021-12-30 14:54 请务必优秀 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 求解一个集合中,每个元素左边离自己最近且比自己小的元素是?右边离自己最近且比自己小的元素是? 没有重复值: public int[][] getNearLessNoRepeat(int[] arr){ int[][] res = new int[arr.length][2]; Stack<Integ 阅读全文
posted @ 2021-12-30 13:35 请务必优秀 阅读(22) 评论(0) 推荐(0) 编辑