当前位置: 首页 > news >正文

厦门企业网站开发北京网络推广优化公司

厦门企业网站开发,北京网络推广优化公司,网页实时翻译软件,网页打不开微信可以上什么原因水塘抽样算法 1、问题描述 最近经常能看到面经中出现在大数据流中的随机抽样问题 即:当内存无法加载全部数据时,如何从包含未知大小的数据流中随机选取k个数据,并且要保证每个数据被抽取到的概率相等。 假设数据流含有N个数,我…

水塘抽样算法

1、问题描述

最近经常能看到面经中出现在大数据流中的随机抽样问题

即:当内存无法加载全部数据时,如何从包含未知大小的数据流中随机选取k个数据,并且要保证每个数据被抽取到的概率相等。

假设数据流含有N个数,我们知道如果要保证所有的数被抽到的概率相等,那么每个数抽到的概率应该为 1/N

那如何保证呢?

2、解题思路

先说方案:

每次只保留一个数,当遇到第 i 个数时,以 1/i的概率保留它,(i-1)/i的概率保留原来的数。

举例说明: 1 - 10

  • 遇到1,概率为1,保留第一个数。
  • 遇到2,概率为1/2,这个时候,1和2各1/2的概率被保留
  • 遇到3,3被保留的概率为1/3,(之前剩下的数假设1被保留),2/3的概率 1、2 被保留,(此时1被保留的总概率为 2/3 * 1/2 = 1/3)
  • 遇到4,4被保留的概率为1/4,(之前剩下的数假设1被保留),3/4的概率 1 、2、3被保留,(此时1被保留的总概率为 3/4 * 2/3 * 1/2 = 1/4)
  • 以此类推,每个数被保留的概率都是1/N。

3、示例

382. 链表随机节点

import random
class Solution:def __init__(self, head: ListNode):self.head = headdef getRandom(self) -> int:count = 0reserve = 0cur = self.headwhile cur:count += 1rand = random.randint(1,count)if rand == count:reserve = cur.valcur = cur.nextreturn reserve

参考资料
https://leetcode.cn/problems/linked-list-random-node/solutions/135440/xu-shui-chi-chou-yang-suan-fa-by-jackwener/

http://www.shuangfujiaoyu.com/news/23942.html

相关文章:

  • 怎么制作网站seo网站建设
  • 代做毕网站站长之家域名
  • 网站顶部下拉广告代码杭州哪家seo公司好
  • 加强局网站建设培训课程设计
  • webportal自助建站西安百度首页优化
  • 陕西四通建设工程有限责任公司网站输入关键词自动生成文章
  • php网站导航北京搜索引擎优化管理专员
  • 做游戏网站需要哪些许可优化网站排名方法
  • 常州做网站哪家便宜手机端网站排名
  • 网站怎么做滚动字幕无锡营销型网站制作
  • 容桂企业网站建设网址大全
  • 成都网站建设冠辰哪家强正规手游代理平台有哪些
  • 找别人做网站怎么防止后门aso优化推广公司
  • 商城类的网站一般怎么做如何做好网站站内优化
  • 网站建设需要那种技术软文标题和内容
  • 做网站后台系统的规范网站广告费一般多少钱
  • 做网站多长时间公众号怎么推广和引流
  • 衡阳市做网站信息流优化师简历怎么写
  • 国内做钢铁的网站seo关键词排名优化怎样收费
  • 如何建立公司网站是什么百度数据网站
  • 做网站可以不用框架吗宁波网站推广营销
  • 做产品网站费用seo网络推广师招聘
  • 百度推广太原网站建设重庆seo优化推广
  • 网站后期维护方案网站优化是做什么的
  • iis做外网站点百度福州分公司
  • 网站建站是模版好还是设计好网络营销的优势与不足
  • 管理员界面wordpress朔州seo
  • 移动端网站优秀案例网站策划书
  • 点击即玩的小游戏网站南京seo网络推广
  • 设计公司网站多少钱德芙巧克力软文推广