10 2020 档案

摘要:服务器集群常用来设计和实现数据缓存,常见的策略就是:将数据的id进行哈希函数计算,将得到的值进行取余,根据结果将数据分配到该服务器上面。 常见的问题:增加或者删除机器时,代价会很高,所有的数据都要进行数据的迁移。 一致性哈希算法可以解决该问题:将机器放在环中,将数据的id经过哈希计算后放入环中,顺时 阅读全文
posted @ 2020-10-27 15:55 cambra 编辑
摘要:题目是一个占用64B的URL,查找其是否存在在100亿个黑名单网页中。允许万分之一的判断失误率,空间限制为30GB。 布隆过滤器常用的场景是黑名单系统、垃圾邮件过滤系统、爬虫的网址判重系统,并且对失误率有一定的容忍度,但是对空间的要求比较严格。 哈希函数(散列函数):输入域是非常大的范围,但是输出域 阅读全文
posted @ 2020-10-22 17:46 cambra 阅读(106) 评论(0) 推荐(0) 编辑
摘要:这是最经典的动态规划的方法,其中从左上角开始,只能向下或者向右走是这个问题的条件,也是入手的地方 采用累加的方式,向下累加,向右累加 之后根据这一行和这一列,之后的数据都要比较它上边的更小还是右边的更小,最后得到最终的数据。 这样的思路对于代码的实现有点繁琐,可以使用空间压缩的方式进行实现。 还是采 阅读全文
posted @ 2020-10-20 16:50 cambra 阅读(126) 评论(0) 推荐(0) 编辑
摘要:斐波那契数列即为F(n)=F(n-1)+F(n-2),如1、1、2、3、5、8、13... 在计算的时候,通过最简单的递归计算,时间的复杂度是O(2N) 还有一个就是循环的一直计算的方法,时间的复杂度是O(N) 最小的时间复杂度的计算的方法是O(logN),这是因为这个函数是一个二阶递推数列,即这几 阅读全文
posted @ 2020-10-20 16:15 cambra 阅读(105) 评论(0) 推荐(0) 编辑
摘要:这是一个m个人围成一个圈,数到i的那个人就自杀最后只留下一个人的算法问题 其中的进阶算法的思路是: 1、每个编号报数的问题,编号A(1,2,3...i)的循环报数为B(1,2,3...i,i+1,i+2...2i,2i+1...),这样在没有杀人的时候,他们的关系为A=(B-1)%i+1 2、新旧编 阅读全文
posted @ 2020-10-15 09:56 cambra 编辑
摘要:在求最大子矩阵中,有两个核心的思想 1、以行进行切割,每列的数据累加,其中遇到0的时候归零。 2、以每次切割的结果进行计算,可将其视为柱状图,相邻的柱进行相加,其中必须满足为矩形状。 这样是求最大子矩阵的思路。 最后还有很重要的一点就是在这些数据进栈的时候,必须必栈顶的数大才可以进入,当小于的时候开 阅读全文
posted @ 2020-10-13 15:30 cambra 编辑

点击右上角即可分享
微信分享提示