Roger's Note

Salvation lies within


  • 首页

  • 归档

hexo博客增加valine评论系统

发表于 2020-03-14 | 评论数:

介绍hexo博客增加valine评论系统

阅读全文 »

vscode配置picgo实现图床自动上传

发表于 2020-02-19 | 更新于 2020-02-21 | 评论数:

对于经常写blog童靴来说md是一个很好格式化文档的文件格式,这里就会遇到写文档是需要上传图片的情况。

这里使用picgo来集成到vscode来实现自主上传图片方便编写md。

阅读全文 »

vps-test-tool

发表于 2020-01-17 | 更新于 2020-02-20 | 评论数:

vps测试工具,用来查看vps的性能状态

阅读全文 »

ss的问题集合

发表于 2020-01-17 | 评论数:

ss的issue处理

阅读全文 »

flask+nginx+uwsgi+https搭建

发表于 2020-01-06 | 更新于 2020-02-21 | 评论数:

介绍如何搭建flask服务器

阅读全文 »

LeetCode-741.md

发表于 2019-12-25 | 更新于 2020-01-06 | 评论数:

使用dp计算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class Solution {
private int[][] grid;
private int[][][] memo;
public int cherryPickup(int[][] grid) {
/**
* 56/56 cases passed (23 ms)
* Your runtime beats 54.69 % of java submissions
* 这个算法是huahua https://zxi.mytechroad.com/blog/dynamic-programming/leetcode-741-cherry-pickup/
* 首先不能分开计算最优解,这样会变成贪婪算法,达不到最优解
* 将一个来回的路程等效成2个人同时从右下角走到左上角
* 获取状态转移公式将1人k=i+j跟另一个人k=p+q来实现
* 时间复杂度 O(n^3)
* 空间复杂度 O(n^3)
*/
this.grid = grid;
int m = grid.length;
int n = grid[0].length;
memo = new int[m][n][n];
for (int i = 0; i < m; ++i)
for (int j = 0; j < n; ++j)
Arrays.fill(memo[i][j], Integer.MIN_VALUE);
return Math.max(0, dp(n - 1, m - 1, n - 1));
}

private int dp(int x1, int y1, int x2) {
final int y2 = x1 + y1 - x2;
// 边界控制
if (x1 < 0 || y1 < 0 || x2 < 0 || y2 < 0) return -1;
// 遇到是-1,就跳过
if (grid[y1][x1] < 0 || grid[y2][x2] < 0) return -1;
// 同时达到终点
if (x1 == 0 && y1 == 0) return grid[y1][x1];
// 已经算过的值最优解,直接返回
if (memo[y1][x1][x2] != Integer.MIN_VALUE) return memo[y1][x1][x2];
memo[y1][x1][x2] = Math.max(
// 由于限制了行动轨迹,去是往右跟往下,转换过来其实就是往左,往上
// 回是往左,往上,这样同时从右下角出发,其实两个人都是只有两个方法,就有4种组合
// 左,左 x1 - 1, y1, x2 - 1
// 上, 上 x1, y1 - 1, x2 这里y2也是隐含在里面了,因为 x1 + y1 = x2 + y2
// 上,左 x1, y1 - 1, x2 - 1
// 左,上 x1 - 1, y1, x2
Math.max(dp(x1 - 1, y1, x2 - 1), dp(x1, y1 - 1, x2)),
Math.max(dp(x1, y1 - 1, x2 - 1), dp(x1 - 1, y1, x2)));

if (memo[y1][x1][x2] >= 0) {
// 同时达到一个点,让1用户拿到值,防止重复拿
memo[y1][x1][x2] += grid[y1][x1];
// 如果不是同一个点
if (x1 != x2) memo[y1][x1][x2] += grid[y2][x2];
}

return memo[y1][x1][x2];
}
}

给你一双隐形的翅膀让你飞的更高

发表于 2019-11-28 | 更新于 2020-01-17 | 评论数:

我要飞的更高~~~

阅读全文 »

common-pool2-detail

发表于 2019-11-19 | 更新于 2019-11-28 | 评论数:

apache 提供了 强大的工具 common-pool2 来提供池化资源管理,对应的资源例如线程,数据库连接,redis的连接等,都需要用到池化管理。

阅读全文 »

Redis错误 Unexpected end of stream

发表于 2019-11-19 | 评论数:

生产环境连接redis报错redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream

阅读全文 »

SQL聚合语法跟术语

发表于 2019-10-10 | 更新于 2020-02-21 | 评论数:

介绍SQL聚合语法跟术语

阅读全文 »

12…6

Roger Luo (Luo Dingjia)

55 日志
3 分类
69 标签
© 2020 Roger Luo (Luo Dingjia)
| |
粤ICP备17113681号-1