12人加入学习
(0人评价)
算法面试必备数据结构和算法
价格 $9,999美元
该课程属于 2023.7.9 CS课程 请加入后再学习

例题:25min

 insert Delete GetRandom.  类似API的设计

getRondom的话可以用math.random的方法。

hashmap,+array_list. 

但还有问题,重复加入怎么办,可以用val:list<indexs>

通常design的题要用更多的data structure去实现

 

例题 :Longest Duplicate substring.47min

我的一点想法:既然重复,那么可以直接双pointer,看字母是否重复,有重复的话,计算substring长度,然后两个起点开始substring check就可以。但是abacabac的话不太实用。

hahsset的用较大一点的质数

nlogn算法。 比如说(0,5)(1,6),(2,7)这些遍历,如果没有就说明siez太大,然后检测size/2,检查(0,2)(1,3),。。。如果有的话,检查上稍大一点,(0,3),(1,4).。

 

 

hashmap和hashset的区别,有collision?

 

 

  • Treemap

 

Treemap红黑树,可以让key按照顺序排列,hahsmap不行 。用的是BST

C++有么????map好像就是。Hashmap的好像是unorder_map的实现

 

complete tree: 所有层数除了最后装满,最后层数尽可能向左靠。(底层实现heap的一个用法)

 

 

例题:longest continuous subarray with absolute diff less than or equal to limit

 

brute force:for for确定subarray,内部还得两两对比,或者最大值或者最小值

优化:slidingwindow+treemap找最值(logn)如果>limit,移动左窗口,并且treemap.remove(num[left])

而且treemap{val:{indexs可能重复}},index要去掉最前面的,不存index的话找不到谁最先。比如remove 2:[2,3,5],要是i=2的会把3和5的去掉,这样就导致后面的误判。

也可以用stack或者queue去优化,比如用global的量去存max差别?

 

例题:1h53min Data Stream as Disjoint intervals.

treemap ,找最值,最小的最大数和最小的最大数2h10min. key:value 就是low bound和high  bound,注意相连的合并情况 [1,2]和[4,5]插入3就变成[1,5]。

[展开全文]
shaning · 2023-11-08 · Session 10 0

授课教师

Yuhan老师

课程特色

视频(9)

学员动态

Shuhao 加入学习
Bianyw 加入学习
shjm 加入学习
YanHuang 加入学习
duoduo99 加入学习