2024.01.07_学习日记

天气:晴
学习地点:宿舍
学习时长:2h

学习内容

  1. 小红书笔试题
    Alt text
    找一个数组的任意范围内最大值,用NlogN实现,想到用RMQ方法实现,这个方法是指第i个数往后的2的j次方个数的最大值,跟动态规划一样,先把第一行填完,i行j列,第一行就是每个值填进去就行,然后下面每一行都依赖前一行的值,因为i行j列依赖i行j-1列和后面那一堆的最大值然后取最大值。填完以后想找某个区间最大值就是找这个区间有多少个数,然后2的多少次方能到这个数,最后前后两个区间取最大值,O1的操作。
  2. 腾讯音乐面试题
    Alt text
    两种方法,1:其实就是统计连续0的方法然后相乘,每个连续零可以搞个动态规划表出来,长度表示最大值,宽度表示数组长度,dp【i,j】就是4个连续0填3个格子的大小,最后返回几个dp值得乘积。2:第二个方法是用数学方法,n个数字里取m个单调不减数列,就是C(n+m,m),然后找到连续0得个数,最后乘起来。

学习心得

今天学习时间比较短,明天要出门旅游,寒假开始喽,每天也要坚持刷题。