随笔分类 - 福大大架构师每日一题
摘要:福哥答案2021-02-11: 举例:"moonfudadayx"和"mfyudadxxax",最大公共子序列是"mfudadax",长度是8。 自然智慧即可。1.递归。有代码。三种情况。右移 右移;右移 不移;不移 右移。2.动态规划。有代码。dp[i][j]依赖左边,上边,左上边。①.如果str
阅读全文
摘要:2021-02-10:如何求出两个字符串的最大公共子串长度? 福哥答案2021-02-10: 自然智慧即可。1.动态规划。时间复杂度是O(M*N),空间复杂度是O(M*N)。有代码。dp[i][j]只依赖左上边。①.如果str1[i]==str2[j],dp[i][j]=【左上边】+1。②.如果st
阅读全文
摘要:2021-02-09:如何删除一个链表的倒数第n个元素? 福哥答案2021-02-09: 1.创建虚拟头元素,虚拟头元素的Next指针指向头元素。2.根据快慢指针求倒数第n+1个元素,假设这个元素是slow。3.设置元素slow的Next指针。slow.Next=slow.Next.Next。4.返
阅读全文
摘要:2021-02-08:给定一个字符串str,请问这个字符串的最长回文子序列长度是多少? 福哥答案2021-02-08: 自然智慧即可。1.原序列和反序列求公共子序列。无代码。2.递归。有代码。3.动态规划。有代码。根据动态规划表,dp[i][j]取【左边】,【下边】,【左下边】或者【左下边+2】)的
阅读全文
摘要:福哥答案2021-02-07: 对head1和head2序列化为str1和str2。然后用kmp算法去判断str2是否是str1的子串。如果是,head2是子树;如果不是,head2不是子树。 代码用golang编写,代码如下: package main import "fmt" func main
阅读全文
摘要:福哥答案2021-02-06: 1.动态规划。无代码,见图。2.中心扩展法。无代码。3.Manacher算法。有代码,见图。1)理解回文半径数组。2)理解所有中心的回文最右边界R,和取得R时的中心点C。3)理解 L…(i`)…C…(i)…R 的结构,以及根据i’回文长度进行的状况划分。4)每一种情况
阅读全文
摘要:2021-02-05:给定一个数N,想象只由0和1两种字符,组成的所有长度为N的字符串。如果某个字符串,任何0字符的左边都有1紧挨着,认为这个字符串达标。请问有多少达标的字符串? 福哥答案2021-02-05:举例:N=6[1 0 1 0 1 0][1 0 1 0 1 1][1 0 1 1 0 1]
阅读全文
摘要:2021-02-04:第一年农场有1只成熟的母牛A,往后的每年:①每一只成熟的母牛都会生一只母牛 ②每一只新出生的母牛都在出生的第三年成熟 ③每一只母牛永远不会死 。请问N年后牛的数量是多少 ?福哥答案2021-02-04: 举例:N=6,第1年1头成熟母牛记为a; 第2年a生了新的小母牛,记为b,
阅读全文
摘要:福哥答案2021-02-03: Knuth-Morris-Pratt 字符串查找算法,简称为 KMP算法,常用于在一个文本串 S 内查找一个模式串 P 的出现位置。这个算法由 Donald Knuth、Vaughan Pratt、James H. Morris 三人于 1977 年联合发表,故取这
阅读全文
摘要:福哥答案2021-02-02: 双指针我们可以枚举字符串中的每一个位置作为右端点,然后找到其最远的左端点的位置,满足该区间内除了出现次数最多的那一类字符之外,剩余的字符(即非最长重复字符)数量不超过 kk 个。 这样我们可以想到使用双指针维护这些区间,每次右指针右移,如果区间仍然满足条件,那么左指针
阅读全文
摘要:福哥答案2021-02-01: 以下情况可能导致写操作丢失:1、过期 key 被清理。2、最大内存不足,导致 Redis 自动清理部分 key 以节省空间。3、主库故障后自动重启,从库自动同步。4、单独的主备方案,网络不稳定触发哨兵的自动切换主从节点,切换期间会有数据丢失。***[评论](https
阅读全文
摘要:福哥答案2021-01-31:[答案来自此链接:](https://www.zhihu.com/question/442112697)一个集群模式的官方推荐最小最佳实践方案是 6 个节点,3 个 Master 3 个 Slave 的模式。 key 分槽与转发机制Redis 将键空间分为了 16384
阅读全文
摘要:福哥答案2021-01-30:可以将多次 IO 往返的时间缩减为一次,减少多次IO延迟的开销。前提是 pipeline 执行的指令之间没有因果相关性。 多个指令之间没有依赖关系,可以使用 pipeline 一次性执行多个指令,减少 IO,缩减时间。可以查看redis官方手册,有更详细的案例测试。ht
阅读全文
摘要:福哥答案2021-01-30: [答案1:](https://italk.mashibing.com/question/detail/ques_00006009)全量同步master服务器会开启一个后台进程用于将redis中的数据生成一个rdb文件,与此同时,服务器会缓存所有接收到的来自客户端的写命
阅读全文
摘要:福哥答案2021-01-28: [答案1:](https://italk.mashibing.com/question/detail/ques_00005101)1.使用key值前缀来作命名空间虽然说Redis支持多个数据库(默认32个,可以配置更多),但是除了默认的0号库以外,其它的都需要通过一个
阅读全文
摘要:福哥答案2021-01-27: scp,rz,sz,sftp,rsync。 1.scp下载PuTTY软件,并在C盘安装目录中,找到pscp.exe文件,将pscp.exe的路径加入到系统环境变量Path中, 官网下载地址:https://www.chiark.greenend.org.uk/~sgt
阅读全文
摘要:福哥答案2020-01-26: [2020-01-26:mysql8.0做了什么改进?](http://bbs.xiangxueketang.cn/question/1244)帐户管理增加了对角色的支持。支持原子数据定义语句(atomic DDL)。支持utf8mb4字符集。InnoDB默认情况下在
阅读全文
摘要:福哥答案2020-01-25: [答案1:](https://bbs.csdn.net/topics/398982967)redis-sentinel故障转移的流程:1.当多个sentinel发现并确认了master有问题。2.接着会选举出一个sentinel作为领导。3.再选举出一个slave作为
阅读全文
摘要:福哥答案2020-01-24:荷兰国旗问题三分+小于区递归+大于区递归。,相等区不用管。 代码用go语言编写。利用slice特性,可以节省两个参数。代码如下: package main import ( "fmt" "math/rand" "time" ) func main() { rand.Se
阅读全文
摘要:福哥答案2021-01-23:这道题复杂度太高,短时间内很难写出来。面试的时候不建议手撕代码。一个存节点的map+一个存桶的map+一个存桶的双向链表。桶本身也是一个双向链表。存节点的map:key是键,value是节点。存桶的map:key是次数,value是桶。代码用golang编写,代码如下:
阅读全文

浙公网安备 33010602011771号