那些年我们一起追过的“算法”
猎物清单
- 记一次手撕算法面试:字节跳动的面试官把我四连击了
- 挂号匹配问题“(())”
-
最简单的想法就是用栈来缓存数据,比较常规的思路
-
优化思路:用一个变量,来记录未匹配挂号的数量,遇到“(”+1,遇到“)”减1,这个变量减之前,需要大于0
-
问题总结:遇到单一重复的的元素,栈可以解决,那么计数变量也可以解决
-
问题延伸:多个变量不就可以用map去解决了
-
- 最长字符问题挂号匹配(最长字符串的问题)
-
问题分析:这个问题应该拆解成两个问题,“最长”和“符合条件的字符串”
- 问题一:临时变量,不停比较替换
- 问题二:不就又回到上面的问题了
-
挂号符合和符合的挂号计数其实是一个顺序关系
-
- 挂号匹配问题“(())”