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

淄博桓台网站建设报价网站 语言选择 中文 英文 源码

淄博桓台网站建设报价,网站 语言选择 中文 英文 源码,网页版whatsapp,搜索引擎优化应注意什么问题描述 在长度为N的数组中#xff0c;随机等概率选取K个元素#xff0c;如何实现这个随机算法。 思路很简单#xff0c;生成一个[0, N]的随机数index#xff0c;然后返回index上的数值即可。 但是#xff0c;如果输入是一个长度未知的数组比如stream#xff0c;先遍历…问题描述 在长度为N的数组中随机等概率选取K个元素如何实现这个随机算法。 思路很简单生成一个[0, N]的随机数index然后返回index上的数值即可。 但是如果输入是一个长度未知的数组比如stream先遍历得到数组大小在遍历进行K次采样显然不够高效这就引出了蓄水池算法。 蓄水池采样算法可以在一次遍历中得到K次采样结果并且保证等概率N个样本 K次采样每一个元素被pick的概率是 k/N 实现方式为如下步骤 构建一个长度为K的数组(蓄水池)保存采样结果将数组[0, k]数值赋值给蓄水池数组遍历剩下[k1, N]每一次迭代中产生一个 的index, 如果index K那么将原来处在该index的结果覆盖掉。以此类推最后返回蓄水池数组结果 代码如下 Leetcode 398. random pick index class Solution {int[] reservior;Random rand new Random();int[] copy;public Solution(int[] nums) {// 本题目只需要选取一个样本 k 1copy nums;reservior new int[1];reservior[0] -1;}public int pick(int target) {int cnt 0;for (int i0; icopy.length; i) {if (copy[i]target) {cnt;int randNum rand.nextInt(cnt);if (randNum0) {reservior[0] i;}}}return reservior[0];} } 时间复杂度空间复杂度。 数学原理 上述步骤中最难理解无非就是第三步为什么这样做就可以实现每一个元素被选的概率是k/N。 对于  的元素 在 k 步之前他们被选中是没有随机性的 p 100% 在 k1 步时被第k1个元素替代的概率 (k1)元素被选中的概率 * i 这个index被选中的概率根据上面实现第 i 个index被选中概率为 1/k (Java中random.nextInt是左闭右开)而 k1个元素被选中的概率为 k/k1(random生成的随机数小于k都为选中)  被第k1个元素替代的概率  那么反过来第i个元素被保留的概率为 那么在 N 步第 i 个元素被保留的概率应该为 k1步被保留的概率 * k2步被保留的概率 * ... * N步被保留的概率也就是   对于  的元素在k步之前是没有概率的因为不存在 在 k1步第k1个元素被选中的概率为  由于第 k1的元素原本不存在没有先置概率。在 k2步第k1个元素被保留的概率 第k1步被选中概率 * 第k2步没有选中第k2个元素的概率 第k1个元素被保留的概率  在 N 步第k1个元素被保留的概率   有几点细节需要留意 所有的数值只有一次选中的机会就是数组遍历到那个index的时候如果没有被选中那么以后再也没有机会被重新选中。只有当时被选中才有保留的机会  [0, k]的元素第一次被选中概率为 100%[k1, N]的元素第一次被选中概率为  不管数组中那个元素只要被选中保留到最后作为返回值的概率都是
http://www.huolong8.cn/news/128959/

相关文章:

  • 昆山网站制作互联网推广运营是干什么的
  • 河北永生建筑工程网站网站加一个会员登陆怎么做
  • 咋样做网站视频黄陂机械加工网
  • 网站搬家教程电脑网页制作培训
  • 上海备案证查询网站查询网站查询wordpress appdev team
  • 英德住房和城乡建设部网站莆田城市投资建设集团网站
  • 网站开发合同范本下载岳溥庥网站建设
  • iis怎么做ip网站吗page文件怎么转换wordpress
  • 淮安市网站百度权重优化软件
  • asp网站部署 iis7wordpress获取文章评论数
  • ios手机网站建设在word环境下wordpress
  • 设置网站关键词怎么做淘宝宝贝关键词排名查询工具
  • 网站开发网页页面跳转企业网站建设规划ppt
  • 七色板网站建设dns网站卫士 收录
  • 网站布局策划的流程图和田网页设计
  • 上海集团网站建设咨询成都房地产最新政策
  • 广州门户网站制作公司深圳商业网站建设去哪家
  • 网站建设是做什么网站定位有哪些
  • 做微整的网站网站备案时间怎么查询系统
  • 宁波网站推广软件哪家强些wordpress 评论后
  • 网站过期怎么办wordpress扁平化主题
  • 关于建设设计院公司网站的建议网站 续费
  • 怎样建设学校网站首页潍坊网站排名优化
  • 手机网站jquery底部导航菜单中山网站开发
  • 网站建设 申请宁波人流
  • 上海静安网站建设360全景图合成软件
  • 怎么做游戏门户网站17.zwd一起做网站池尾站
  • 聊城网站营销做母婴网站
  • 网站案例英文江苏大丰做网站
  • 大网站如何优化装修在线设计网站