ARTS (第37周)
自我感想:BUG的出现,其实很多时候,都是因为分支情况的考虑不够周全。
Algorithm 算法
三角形最小路径和
https://leetcode-cn.com/problems/triangle/
leetcode 120
1 | 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 |
解法1 最简单的暴力搜索法
这里采用的是回溯的思路。(提交之后结果和我预料的一样是超时= =)
1 | public int minimumTotal(List<List<Integer>> triangle) { |
解法2 动态规划 自底向上的动态规划
这个题目其实只需要考虑底下的两个节点哪个更小即可。很简单的判断。
1 |
|
解法3 备忘录模式
最初从暴力法自顶部向下进行备忘,然后发现不对,
才发现这种情况 其实也应该由底部向上做备忘,或者初始化好最后一层后再进行备忘
1 | // 备忘录 |
乘积最大子序列
https://leetcode-cn.com/problems/maximum-product-subarray/
leetcode 152
1 | 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 |
解法1暴力搜索法
双重循环 时间复杂度n^2
结果是毫无意外的超时= =
1 | //暴力搜索 |
解法2 动态规划
因为需要考虑奇数个负数的情况
所以需要2个DP数组
这里是2种解法 思路是一致的。
1 | // 执行用时:3ms,在所有java提交中击败了53.21%的用户 |
解法3 分段法
这里将这题的情况分支考虑的话就是如下
这里用0隔开做分段
第1种可能 分段里全是正数 或者有偶数个负数 ->将值全部相乘即可
第2种可能 分段里有奇数个负数
->舍弃末尾的奇数 从分段起始位置乘到最后一个奇数前面 情况A
->舍弃第一个奇数 第1个奇数后面的数字开始乘到分段末尾 情况B
根据上面的情况就可以写出代码了。
1 | //执行用时:1ms,在所有java提交中击败了100.00%的用户 |
Review 英文文章
https://spring.io/projects/spring-cloud
springcloud 简洁和各个组件的介绍
Tip 技巧
状态码
1 消息
100 Continue
101 Switching Protocols
102 Processing
2 成功
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
207 Multi-Status
3 重定向
300 Multiple Choices
301 Moved Permanently
302 Move Temporarily
303 See Other
304 Not Modified
305 Use Proxy
306 Switch Proxy
307 Temporary Redirect
4 请求错误
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
418 I’m a teapot
421 Too Many Connections
422 Unprocessable Entity
423 Locked
424 Failed Dependency
425 Too Early
426 Upgrade Required
449 Retry With
451 Unavailable For Legal Reasons
5 服务器错误
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates
507 Insufficient Storage
509 Bandwidth Limit Exceeded
510 Not Extended
600 Unparseable Response Headers
Share 分享
因为最近项目可能需要使用vue 就简单的了解了一下。
https://www.jianshu.com/p/bb4a347b903a VueJS简明教程(二)之组件
https://www.jianshu.com/p/5d0d913d2453 VueJS简明教程(一)之基本使用方法
https://www.jianshu.com/p/1a7bbdd8ca4e 三十分钟学会使用VUE搭建单页应用(SPA) 上
https://www.jianshu.com/p/47a207618cbd 三十分钟学会使用VUE搭建单页应用(SPA) 下
知识储备:
https://blog.csdn.net/huoji555/article/details/79595533 JAVA百度OCR的调用