1.如何判断链表为环 答:有两种方法 1,快慢指针:一个一步走,一个两步走,如果快指针遇到NULL代表无环,快慢相遇代表有环 2,哈希:用哈希记录之前的节点,然后判断当前节点是否在之前出现过 2.蓄水池抽样原理 答:不会,明天补上>_< 3..C中static的作用? 答:1,隐藏:如果全局变量定义 ...
分类:
其他好文 时间:
2020-03-06 00:54:31
阅读次数:
67
历程 1. 花一周左右阅读了 "Problem Solving with Algorithms and Data Structures Using Python" ,用Python实现各类数据结构和算法。此书的 "中文版" 。 2. 2019/11/26 2020/2/2,开始刷LeetCode,按 ...
分类:
其他好文 时间:
2020-02-06 11:06:01
阅读次数:
71
现实中碰到很多需要随机抽样的问题,这也是算法工程师面试中常见的题型,特意记录在这里。下面以几个例题为例,展开随机抽样问题的解决方案。 [leetcode]470.Implement Rand10() Using Rand7() 已提供一个Rand7()的API可以随机生成1到7的数字,使用Rand7 ...
分类:
其他好文 时间:
2019-10-20 11:02:34
阅读次数:
103
1.蓄水池抽样算法(Reservoir Sampling) https://www.jianshu.com/p/7a9ea6ece2af 2.spark抽样之蓄水池抽样 https://blog.csdn.net/snaillup/article/details/69524931?utm_sourc ...
分类:
其他好文 时间:
2018-12-23 22:11:22
阅读次数:
192
蓄水池抽样——《编程珠玑》读书笔记 382. Linked List Random Node 398. Random Pick Index 蓄水池抽样——《编程珠玑》读书笔记 382. Linked List Random Node 398. Random Pick Index 问题:如何随机从n个 ...
分类:
编程语言 时间:
2018-04-30 13:37:33
阅读次数:
283
给你一个长度为N的链表。N很大,但你不知道N有多大。你的任务是从这N个元素中随机取出k个元素。你只能遍历这个链表一次。你的算法必须保证取出的元素恰好有k个,且它们是完全随机的(出现概率均等)。 这一题应该可以用来解决微信红包分配之类的那种问题,主要是概率的证明挺有意思。 1 #include <io
分类:
编程语言 时间:
2016-02-06 01:36:00
阅读次数:
338
#!/usr/bin/env python# -*- coding=utf8 -*-import sysimport osimport random#input split 1565 #>>> 3000000/1565.0#1916.932907348243#2000K = 2000pool = [...
分类:
其他好文 时间:
2015-09-01 01:37:24
阅读次数:
351
问题定义: ????给你一个长度为N的链表。N很大,但你不知道N有多大。你的任务是从这N个元素中随机取出k个元素。你只能遍历这个链表一次。你的算法必须保证取出的元素恰好有k个,且它们是完全随机的(出现概率...
分类:
编程语言 时间:
2015-05-27 17:30:37
阅读次数:
139
问题起源于编程珠玑Column 12中的题目10,其描述如下: How could you select one of n objects at random, where you see the objects sequentially but you do not know the value....
分类:
其他好文 时间:
2015-04-01 17:27:31
阅读次数:
193
一、问题由来 这个题目的由来是在《编程珠玑》里遇到的,故记录一下。还可以这么说,”如何从二进制文件中等概率取整数?”或者”在不知道文件总行数的情况下,如何从文件中随机的抽取一行?”这个题目说的有点不清楚实际上是:一个二进制文件中有好多好多整数,你要随机取出一个。 这个问题的难点就在于你开始不知道有多...
分类:
编程语言 时间:
2015-01-15 19:57:31
阅读次数:
230