實現核心:
核心是蓄水池抽樣算法。
題目:
要求從N個元素中隨機的抽取k個元素,其中N無法確定
解法:
首先選擇N中的前k個數加入“蓄水池”中,然後從第k+1個數開始,以k/k+i(i=1,2,3...)的概率選擇這個數,然後在蓄水池中隨機選擇一個數,並將其替換,N個元素遍歷完畢後,蓄水池中的k個數就是隨機選擇的。
https://zhuanlan.zhihu.com/p/41348264
核心是蓄水池抽樣算法。
題目:
要求從N個元素中隨機的抽取k個元素,其中N無法確定
解法:
首先選擇N中的前k個數加入“蓄水池”中,然後從第k+1個數開始,以k/k+i(i=1,2,3...)的概率選擇這個數,然後在蓄水池中隨機選擇一個數,並將其替換,N個元素遍歷完畢後,蓄水池中的k個數就是隨機選擇的。
https://zhuanlan.zhihu.com/p/41348264
輸入一個鏈表,從尾到頭打印鏈表每個節點的值 #coding:utf-8 class ListNode: def __init__(self, x): self.val = x self.n