上周算法收获

661 阅读2分钟

序言

学而不思则忘

参加掘金年终总结后收获良多;首先是获得一些点赞数量,掘力值上涨了不少。哎呀,升级是我快乐^_^,还有就是回忆总结。在写年终总结前粗粗想想今年干了啥?貌似啥也没干。但真正开始写的时候总总回忆涌向心头;若不是年终总结,这些记忆或许已经被遗忘在角落里。既然记忆是可以被遗忘的,哪刷的算法不思考总结,可是可以被遗忘的。

上周刷题一览

周一

1、面试题 第 k 个数
2、亲密字符串
3、柠檬水找零
4、煎饼排序
5、任务调度器

周三

1、化栈为队
2、球比赛
3、较含退格的字符串
4、证栈序列
5、除最外层的括号

周五

1、剑指 Offer !复杂链表的复制
2、 删除中间节点
3、两数相加 II
4、 重排链表
5、移除无效的括号

题目分类

15道题目,三大块内容;栈、链表、数组

栈与队列

1、化栈为队 3、较含退格的字符串
4、证栈序列
5、除最外层的括号

借用栈或者队列先入先出或者后入后出的特性解决问题

链表

剑指 Offer !复杂链表的复制
删除中间节点
两数相加 II
重排链表

4个链表类型的题,涉及链表复制、链表删除、链表枚举、链表反转、链表链接等链表功能,是我对链表有了一定了解,帮助我掌握了基本的链表操作;充分理解这4个题后,再遇到类似链表增删查改实现不至于手忙脚乱

动态规划

面试题 第 k 个数

柠檬水找零

动态规划核心是找状态转移方程,这个我仅仅是理解上述两题,如果再遇到类似问题不萌保证能用动态规划完成。还是没有掌握动态规划或者经验太少;但是不是说动态规划是这题的唯一解,比如【柠檬水找零】这道题可以用模拟法得到答案;刷算法,理解很重要,变通一样重要。

哈希表、数组

亲密字符串
柠檬水找零

这类问题通过额外空间存储数据

模拟

任务调度器

移除无效的括号

暂时分不清用什么方法的,通过题目模拟人遇到问题,思考如何解决的过程得到结果;这种方法我认为是模拟法;模拟法需要大量的简单计算,通过人思考找出边界,将边界内的简单计算方式交给计算机,最后产出答案。

最后

个人能力有限,不能清楚总结算法中的深刻含义;如有不足请不吝指教。