ARTS (第62周)
不要高估自己一年内的成果,也不要低估十年后的自己。
Algorithm 算法
矩阵中的路径
1 | 题目描述 |
DFS 解法 遍历所有路径
1 | package test; |
机器人的运动范围
1 | 题目描述 |
解法 穷举+备忘录
1 | public int movingCount(int threshold, int rows, int cols) { |
Review 英文文章
https://spring.io/guides/gs/sts/ 用sts创建spring项目
Tip 技巧
code review-代码质量方面
我们可以从以下几个方面来审视代码。
1、目录设置是否合理、模块划分是否清晰、代码结构是否满足“高内聚、松耦合”?
2、是否遵循经典的设计原则和设计思想(SOLID、DRY、KISS、YAGNI、LOD 等)?
3、设计模式是否应用得当?是否有过度设计?代码是否容易扩展?如果要添加新功能,是否容易实现?
4、代码是否可以复用?是否可以复用已有的项目代码或类库?是否有重复造轮子?
5、代码是否容易测试?单元测试是否全面覆盖了各种正常和异常的情况?
6、代码是否易读?是否符合编码规范(比如命名和注释是否恰当、代码风格是否一致等)?
code review-业务方面
1、代码是否实现了预期的业务需求?
2、逻辑是否正确?是否处理了各种异常情况?
3、日志打印是否得当?是否方便 debug 排查问题?
4、接口是否易用?是否支持幂等、事务等?
5、代码是否存在并发问题?是否线程安全?
6、性能是否有优化空间,比如,SQL、算法是否可以优化?
7、是否有安全漏洞?比如输入输出校验是否全面?
动态规划
一般,动态规划有以下几种分类:
最值型动态规划,比如求最大,最小值是多少
计数型动态规划,比如换硬币,有多少种换法
坐标型动态规划,比如在m*n矩阵求最值型,计数型,一般是二维矩阵
区间型动态规划,比如在区间中求最值
其实,根据此题的启发,我们可以换种想法,就是什么样的题适合用暴力递归?
显然就是,可能的情况很多,需要枚举所有种情况。只不过动态规划,只记录子结构中最优的解。
链接:https://www.nowcoder.com/questionTerminal/57d85990ba5b440ab888fc72b0751bf8?answerType=1&f=discussion
来源:牛客网
Share 分享
https://blog.csdn.net/u011635492/article/details/81058153 高并发下接口幂等性解决方案
https://www.mooc.cn/ 大学MOOC
https://www.icourse163.org/ 大学MOOC
https://www.jianshu.com/p/b9384fc7b04b 微信小程序登录时序图:授权与 Oauth2.0
https://blog.csdn.net/qing_gee/article/details/105086259 优秀网站汇总