1, 最大栈
答案: 伴随栈法,
还可以给每个元素,添加一个伴随属性,记录最大值
我的错误想法:
1, 维持最大值,那使用优先队列吧
2, 相对给每个元素,记录最大值
我打算使用,hash map, 记录每个元素对应的最大值
- a, 如果栈里面的元素,都是独特的,简单的 KV 就可以记录,每个元素对应的最大值
- b, 如果栈里面的元素,可以存在重复的,
元素的值,对应一张表
这张表,对应索引值,和最大值
进栈和出栈,都要维护这张表
2, 反转单链表
( 还没问我,反转双向链表 )
我觉得的要点: 保存指针引用,修改 node 的 next 指针的指向
3, 二分查找
我觉得的疏漏点: left 边界 + 1, right 边界 - 1
4, 青蛙跳格子
答案: 斐波那契数列
我的失误:
a1 = 1
a2 = 2
{ A, 1 + 1 ;
B, 2 }
- a,第一次失误
a3 = a1 * 2 + a2
a2 到 a3, 只有一种方法
a1 到 a2, 有 2 种方法 , 那就 X 2
- b. 第 2 次失误
a3 = a1 + 2 + a2
a2 到 a3, 只有一种方法
a1 到 a2, 有 2 种方法 , 那就 + 2
经验:
- 技术面试中,跟面试官,聊闲话,没用的
- 技术面试中,写的失误算法,会存档的
面试官不在意,我就在那里,慢慢写用例去跑
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。