![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
ccmhzl
这个作者很懒,什么都没留下…
展开
-
Trie树 python代码实现
""" 重要的是了解什么是Trie树,前缀树,这个数的应用还是挺多的,将字符串组成的路径记录下来,以此来快速 查找具有同一前缀的字符串! 首先Trie树的每个节点本身不存储字符,是整个树的路径信息存储字符,每个节点有个标志位isWord来标识从根节点root到当前node 节点的路径是否构成一个单词 所以TrieNode每个节点有两个成员变量, ...原创 2019-11-08 15:35:57 · 678 阅读 · 0 评论 -
贪心算法应用---1、 移除 k 个数字,让剩下的数字值最小。2、总的等待时间最短
1.移除 k 个数字,让剩下的数字值最小在一个非负整数 a 中,我们希望从中移除 k 个数字,让剩下的数字值最小,如何选择移除哪 k 个数字呢?1、由最高位开始,比较低一位数字,如高位大,移除,若高位小,则向右移一位继续比较两个数字,直到高位大于低位则移除,循环k次,如:4556847594546移除5位-》455647594546-》45547594546-》4547594546-》447...原创 2019-09-21 20:06:26 · 804 阅读 · 0 评论 -
一个细胞的生命周期是3小时,1小时分裂一次,求n小时后容器内有多少个细胞。
一个细胞的生命周期是3小时,1小时分裂一次,求n小时后容器内有多少个细胞。假设经过三个小时的细胞分裂后再死亡。根据题意,细胞的生命周期是三个小时,一个小时后,第一个细胞分裂,此时细胞总数变成 2,但是这两个细胞的生存时间是不一样的,如果都当成新生细胞即存活时间为 0,那么给定的 3小时生命周期也就没意义了,所以这个时候其中一个细胞的生存时间变成了 1,另外一个刚分裂出来的是 0,下面简单表示一...原创 2019-09-23 11:02:30 · 4826 阅读 · 1 评论 -
堆面试题:一个访问量非常大的新闻网站,将点击量排名 Top 10 的新闻摘要,滚动显示在网站首页 banner 上,并且每隔 1 小时更新一次。如果你是负责开发这个功能的工程师,你会如何来实现呢?
我的思路是这样子,1,对每篇新闻摘要计算一个hashcode,并建立摘要与hashcode的关联关系,使用map存储,以hashCode为key,新闻摘要为值2,按每小时一个文件的方式记录下被点击的摘要的hashCode3,当一个小时结果后,上一个小时的文件被关闭,开始计算上一个小时的点击top104,将hashcode分片到多个文件中,通过对hashCode取模运算,即可将相同的hash...原创 2019-09-23 15:23:56 · 1501 阅读 · 0 评论