摘要:
一块金条切成两半, 是需要花费和长度数值一样的铜板的。 比如长度为20的 金条, 不管切成长度多大的两半, 都要花费20个铜板。 一群人想整分整块金 条, 怎么分最省铜板?例如,给定数组{10,20,30}, 代表一共三个人, 整块金条长度为10+20+30=60. 条要分成10,20,30三个部分 阅读全文
摘要:
给出字符串,如“abc” 从头结点开始,依次检查,有没有走向a的路,如果没有,就新建出来,a作为路上的值(不是结点的值),如果有的话,就复用 在字符串的结尾处的结点的值+1,表示有一个是以该字符串结尾的 1.可以查是否某个字符串是以某个字符串为前缀的 2.还可以查 添加了几次该前缀 (有多少字符串是 阅读全文
摘要:
并查集解决的问题:(速度快) 1.非常快的检查两个元素是否属于一个集合 isSameSet(A, B) 2.将两个元素各自所在的集合,合并在一起 union(A, B) 合并的是A,B所在的 集合,而不是单纯的合并A和B 代表结点:指向自己的结点 初始化时,要有所有的样本结点 2是代表结点 4是代表 阅读全文
摘要:
一个矩阵中只有0和1两种值, 每个位置都可以和自己的上、 下、 左、 右四个位置相连 如果有一片1连在一起, 这个部分叫做一个岛, 求一个矩阵中有多少个岛?举例:0 0 1 0 1 01 1 1 0 1 01 0 0 1 0 00 0 0 0 0 0这个矩阵中有三个岛 解: 当矩阵数量较少时,解法( 阅读全文
摘要:
分布式存储海量数据 不太懂 阅读全文
摘要:
查黑名单(大数据 100亿数据) 不理想的是: 1.使用哈希表来查(要使用非常大的空间) 2.改进:使用哈希分流,然后将使用多个计算机处理(浪费机器,代价高) 理想的是使用布隆过滤器(一种集合,但是有失误率,不属于黑名单的url可能会被认为在黑名单中,误报): 使用的是基本数据类型的数组 然后使用数 阅读全文
摘要:
设计一种结构, 在该结构中有如下三个功能:insert(key): 将某个key加入到该结构, 做到不重复加入。delete(key): 将原本在结构中的某个key移除。 getRandom():等概率随机返回结构中的任何一个key。【要求】 Insert、 delete和getRandom方法的时 阅读全文