taotao never stop

勿在浮沙筑高台

Count Min Sketch: from Finding the Majority Element problem to heavy hitter problem,统计元素频率的利器

这是笔者学习 Stanford cs 168 课程的一些学习笔记 lecture 2, 主要讲一个基于 hash 和独立试验思想,设计的一种数据结构 count min sketch,想法非常类似于 bloom filter,都是以牺牲准确率换空间和时间。 heavy hitter proble...

2019-05-09 00:43:18

阅读数 25

评论数 0

consistent hash : 一致性hash 简单笔记

记得我人生第一次参加面试的时候,面试官问我的就是这样一个问题: 你有很多台服务器,每台服务器上都存放着很多数据,现在要加一台服务器,如何才能让数据搬迁尽可能的少,同时能让每台服务器经可能的负载均衡。现在才发现,这就是可一致性hash 问题,当时我答了个hashMap中的rehash操作,给糊弄过去...

2019-05-04 01:40:41

阅读数 20

评论数 0

MIT 6.824 lab1: mapreduce 学习总结

这是 MIT 6.824 课程 lab1 的学习总结,记录我在学习过程中的收获和踩的坑。 我的实验环境是 windows 10,所以对lab的code 做了一些环境上的修改,如果你仅仅对code 感兴趣,请移步 : github/zouzhitao mapreduce overview 先大致...

2019-04-06 14:55:05

阅读数 95

评论数 0

kick-start 2019 round A: 题解

题目链接 A. Training 这题很简单,处理一下前缀和就完事儿,没什么好说的。当时就做出了这个题

2019-04-03 00:53:35

阅读数 177

评论数 0

(co-,contra-,in-)variance in Scala, what is [+-A]

本文主要总结Scala中关于generic variance(泛型变化, 我也不知道该怎么翻译,以下称 GV),(co-,contra-,in)variance in Scala 的相关知识,什么是 generic variance 呢?我的感觉是一种泛型类型的类型系统,应该和 type syst...

2019-03-27 01:16:26

阅读数 86

评论数 0

tail recursion 尾递归

尾递归并不是函数式编程才有的特性,c++ 里面也是有的。第一次接触尾递归,是在 UW的coursera课程中,第二次是在sensetime的面试中,面试官问我了解尾递归吗,什么情况下编译器可以用尾递归优化。这里虽然使用 scala作为实例讲解尾递归,但请注意,这并不是scala语言中才有的特性 ...

2019-03-16 09:40:20

阅读数 36

评论数 0

如何 gitignore .gitignore

场景: 有一个 repo,现在想要加一个文件,但不想被tracking,很自然的想法是将它放在 .gitignore 中,但是同时又不想 .gitignore被tracking 应该怎莫办呢? .gitignore 在被 tracking(commit) 之前 可以直接在 .gitignore ...

2019-03-07 11:31:10

阅读数 134

评论数 0

PAC与样本复杂度

这篇文章主要总结 PAC 学习框架以及样本复杂度相关的东西,大致来说就是:要保证以概率 1−δ1-\delta1−δ 使得 generalized error 小于 ϵ\epsilonϵ 需要多大的样本复杂度,以及时间复杂度才是好的。 问题及约定 符号约定 两个 error 符号 就是我们...

2019-03-06 23:56:11

阅读数 73

评论数 0

Adaboost & gradient boosting学习总结

纸上得来终觉浅,觉知此事要躬行。综上,我什莫都不懂.这仅仅是个人的学习防忘笔记 Adaboost 关于 Adaboost 的算法描述其实很简单,有趣的是的它的误差分析: algorithm 其中 KaTeX parse error: No such environment: align at ...

2019-03-05 00:49:39

阅读数 460

评论数 0

kickstart 18 roundB Sherlock and the Bit Strings(状压dp/计数)

文章目录题目链接大意分析状态转移构造解code总结小技巧 题目链接 kickstart 18 roundB Sherlock and the Bit Strings 大意 寻找一个长度为 nnn 的字符串,满足以下条件: 满足 kkk 个条件: ∑j=AiBisj=Ci,i∈{1,2,…,k}\...

2019-02-28 10:56:50

阅读数 63

评论数 0

kickstart 2018 roundB A.no nine(digit dp)

文章目录题目链接分析code 题目链接 kickstart 2018 roundB A.no nine(digit dp) 就是问: [a,b] 中不包含 9,不是9的倍数的数有多少个 分析 很裸的数位dp 只要前面放的位数和相同,他们的结果应该是相同的 好久没写了,中间出了一个bug, 注意状...

2019-02-26 17:40:40

阅读数 110

评论数 5

kickstart 2018 :Scrambled Words(hash+complexity)

以我面试多次大厂的经验,无论是笔试还是面试,大厂的算法题目都不会考非常难实现的数据结构或者算法模板,通常喜欢的还是偏思维的 hash, 复杂度,dp,这样一些简单算法 题目链接 google kickstart 2018 Scrambled Words 分析 分析在题目网站有,首先需要想到的就...

2019-02-21 23:07:20

阅读数 52

评论数 0

凸优化简单学习笔记

本文来源于个人的凸优化学习笔记参考cs229 cvxoptnote,写成笔记的原因仅仅是想通过个人的笔记自己讲述与推导一下这些数学公式,内容可能会很简单,强力建议想得到一手资料的人好好学习文末参考资料 凸集合 定义就直接跳过了,这里简单写一些常见的凸集 凸集的交, 设 Ci,i=1,2,3,...

2019-01-24 23:21:04

阅读数 55

评论数 0

点到超平面的距离简单证明

这是一个简单的问题,定义如下: 设, y(X)=WTX+b,X∈Rn,b∈Ry(X) = W^TX +b, X \in R^n,b \in Ry(X)=WTX+b,X∈Rn,b∈R, 是一个 affine function(这个不重要,是个函数就行),超平面为 h:WTX+b=0h:W^TX +b...

2019-01-23 01:21:15

阅读数 821

评论数 1

商汤AI平台开发工程师实习面试总结

面试距今应该已经过去一个月了,一直没有总结,这里还是简单总结一下问题,其实感觉问的挺简单的. 我面的是 AI平台开发工程师,就是做应用落地的,智能安防部门。做的是视频安防, offer get 一面 一面先是简单聊了一下简历,问的相当简单,(PS:尽然被吐槽简历太简单了[捂脸…]),这边应该用的是...

2019-01-20 23:14:26

阅读数 275

评论数 5

牛顿法总结

这里总结一个利用二价导数来求最优解的方法-牛顿法: 设: f(X)f(X)f(X) 是一个多维函数,由taylor 二阶展开,我们有, f(X)≈f(X0)+(X−X0)∇f(X0)+(X−X0)∇2f(X0)(X−X0)2 f(X) \approx f(X_0)+(X-X_0)\nabla f(...

2019-01-20 23:02:20

阅读数 33

评论数 0

AI 玩2048

最近写了个AI 玩2048 的小游戏,简单记录一下过程 项目地址 : https://github.com/DylanFrank/Learn/tree/master/CSMM101AI/project/2048-game 核心代码是这一块儿 : playerAI_3.py 其他代码都是系统给的 核...

2018-11-16 23:53:34

阅读数 128

评论数 0

NOIP 普及组 04 对称二叉树

题目链接 测评地址 得一课二叉树,问: 兑换所有子节点左右子树,让其树不变(意思是兑换了后还是一样的树),求能做此操作的最多的节点数目 分析 其实就是求中序遍历后最大的回文串,不过由于这是一课二叉树,如果不知道 manacher 算法(O(n) 求每个回文)可以直接求出中序后暴力判断回文。可以想想...

2018-11-15 22:16:57

阅读数 94

评论数 0

MIT 6.031 Software Construction 学习笔记:(四) Avoiding Debugging

这章Reading 9: Avoiding Debugging给了我很大的收获,以前一些 ACMer 的不好的代码习惯(当然是为了快速coding)都在这里暴露无遗 First Defense: Make Bugs Impossible 主要是前面讲的一些内容的结合,一方面是编译器做足工作,另外一...

2018-11-10 16:51:30

阅读数 81

评论数 0

MIT 6.031 Software Construction 学习笔记:(三) Mutability & Immutability

这节主要是讲 可变对象给编程带来的危害,所谓不可变对象,就是整个生命周期中不可变的对象(废话), e.g. : String 具体来说参见 Basic Java when we discussed snapshot diagrams Risks of mutation risk1:passing ...

2018-11-10 15:00:31

阅读数 150

评论数 0

提示
确定要删除当前文章?
取消 删除