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

node{ int val; Node next;}

1->2->5>7>null

可以每次都先设一个dummyhead,return dummy head.next

二叉树: node{ int val; Node left;Node right}

 

Database Index,讲到树的时候会有提

三大基本功:

  1. reverse a link list
  2. merge sorted link list
  3. find the middle node of the linklist

dumy node可以放在开头

  • reverse就是next变成prev,原来的head指向null,原来的尾变head
  • middle 的话,一个for loop就可以找到,按照双指针来,尾部走两个,middle走一个
  • merge two sorted list, 双指针,判大小,然后东一。可以先设一个prehead->a->b,return a就可以。注意判断条件:L1很短,空了之后直接把L2后面接上就好了

 判断link list是不是环(不太会考)

double link list

  • 回文判断,双指针,但注意要回预处理大小写字母,空格字符的处理

 

  • soretd array去重,只能in-place和不能创造新的空间,思路:双指针,尾指针判大小后往后移动最后一个同位素的后面,头指针不动,然后把头指针的next赋值成新的数字,移动head,重复尾指针移动,然后return这个去重list。
     

 

  • 滑动窗口,有一个size的subarray,让他内部元素sum最大,小窍门[a,b,c,d]和[b,c,d,e],sub2只需要sub1-a+e就行

 

  • 3sum=0,但不只一组sum相同的情况,全部return。 先sort,然后如果已经sum>0,那么肯定直接break就行,再往后更大,优化: low increment到不重复的新数,eg,0,0,1, 这里lo跳过后面的0直接到1

 

  • 3 sum closest.   常量:INT_MAX和INT_MIN,看32bit还是64bit,

算法除了写出思路,还要讲出思路(80),还要optimization

[展开全文]
shaning · 2023-10-24 · Session 2 0

授课教师

Yuhan老师

课程特色

视频(9)

学员动态

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