今天写了约瑟夫环,旋转链表和不同路径。
约瑟夫环使用了结构体来解答,使用链表结构的话进出都比较方便,首先必须初始化一个约瑟夫环,然后直接循环直到最后一人。
然后是旋转链表,我原本是想用反转链表来做的,但可惜我没搞懂它是怎么转的,所以没做出来。力扣官方题解是将链表头和链表尾连在了一起,然后从链表尾开始遍历,直到找到新链表的表头,然后断开就是旋转的链表。
然后是不同路径,我是采用的回溯法,其实本质和dfs和bfs很像,但时间复杂度不满足,需要我使用记忆化数组,本质就是用动态规划解决,然后用动态规划的话,另一个要点其实是逐步逼近,这道题就是先逼近第一行和第一列,得到到达这些格子的路径数量,然后再通过状态方程递推。
然后准备了面试的问题:
vue3和vue2的区别:vue3用proxy代理实现响应式,vue2用defineproperty用属性实现响应式,vue3使用懒加载,效率更好,同时vue3是组合式vue2是选项式,同时生命周期变化
防抖是什么?如何实现?(很熟跳过)
限流是在多次点击后每隔一段时间就执行一次。
tcp三次握手传递ack,syn(同步码)。tcp四次挥手会多一次是因为在接收端接受到fin后可能还有要传递的数据,所以会先传递一个ack表示接受到了,然后自己再传递一个fin。
https相比http更加安全,因为它采用非对称密文进行加密。看不见报文。
二叉树的完全二叉树是指除最后一层外都是满的,并且从左到右填充数据。前序和后序可以用于前缀表达式和后缀表达式。然后如果是二叉搜索树,那么用中序遍历可以得到一个递增序列。