2024.01.24_学习日记

天气:阴
学习地点:家
学习时长:4h

学习内容

哈希函数和哈希表

  1. 实现常数复杂度级别的哈希表插入、删除、弹出随机key操作
    弹出随机key:准备两个哈希表,然后分别插入值和index,index按顺序传,两个表相反。然后按照index随机数弹出。
    删除:跟上面同样的数据结构,删除key用最后一个key来补之前被删的index的key。size-1。
    插入:就是直接往后加,index++,然后要加两个哈希表。
    Alt text
  2. 布隆过滤器(一个set,可以支持插入、查询,需要的内存小,会失误,把白名单认成黑名单url)
    流程是把url网站通过k个哈希函数再%m,得到一个数,在长度为m的空间里,把这个位置描黑。查找的时候按照相同操作,看这些位置有没有描黑判断这个url在不在黑名单里。m和k都要控制,不然失误率会太大。根据n和m选择k,m相同,k越大,失误率按照先减少后增加的。三个公式:1小时50分
  3. 一致性哈希
    看视频,听不太懂
  4. 网易面试题
    Alt text
    Alt text
    这个题主要是考细心,一个数组可以变一个数,怎样才能变成x的倍数。先把整体和算出来,然后看当前数字变成另一个数字以后该数字取余+剩下数字取余是不是等于x或者当剩下取余是0那么取余是不是也等于0的所有情况。
  5. N皇后2(lc52)
    Alt text
    用位运算做的方法很好,取最右边的值,选可用的值等等方法还需要多看看。