Yellow

Results 14 comments of Yellow

因为备忘录和 grid 是一样大的,且由于前进方向是向右、向下,和我们的默认遍历方向一致,所以感觉可以 `原地修改`,直接把 grid 当成 备忘录来使用 ```java public int minPathSum(int[][] grid) { for (int i = 0; i < grid.length; i++) { for (int j = 0; j <...

不去维护和使用 left,这样逻辑上反而好理解一些

`倒着走` + `优势抹平` 考虑两个场景, `6 -> -5` , 和 `9 -> -5`, 两个场景都可以活着,9比6并没有优势,所以应该优势抹平,走过去之后`hp`置为0(含义就是走到最后一格,血量为1就行,多了没用,多多少也无所谓,干脆遍历的时候扣除多余血量便于计算) 备忘录借用入参 ```java public int calculateMinimumHP(int[][] dungeon) { // 倒着走,看一下最后在起点处, hp 最低是多少 for (int i = dungeon.length -...

按照东哥的思路,画了一个图,便于理解两种背包思路的区别 ![0-1-背包](https://pic.leetcode-cn.com/1651229110-fjIjRW-image.png) ![完全背包](https://pic.leetcode-cn.com/1651229152-iuofOz-image.png)

@Brandy0k > sum(A) - sum(B) = target 这个式子怎么理解。为什么不是sum(A)+ sum(B) = target 一个添加`+`,一个添加`-`, 其实就是你理解的 sum(A) + (-sum(B)) = target = sum(A) - sum(B)

1楼说的有道理, `push` 的时候的确必须使用 `

【缺失的元素】,可以这样理解 因为异或满足交换律,所以 `1^2^3 = 3^2^1 = 1^3^2`,顺序无所谓的, 所以无论数组里数字是什么顺序,异或结果是一样的,所以可以写成 `0^1^2^3...^n` (注意这里面少一个数) (题目特意标明了 nums 中的所有数字都 **独一无二**) 索引的异或是 `0^1^2^3...^n-1` (这里面的数字是完整的) 把数组里的数字异或结果和索引异或结果,再异或一下,就变成了: `(0^1^2^3...^n) ^ (0^1^2^3...^n-1)` 因为边界不一样,n 消不掉,所以 还需要补一个 n `(0^1^2^3...^n) ^ (0^1^2^3...^n-1) ^ n`...

![image](https://user-images.githubusercontent.com/20699977/190453054-8488068e-0a47-4a9e-8233-86e853d681e2.png) ![image](https://user-images.githubusercontent.com/20699977/190453248-b9121150-602d-431e-b678-b9a4209baa4a.png) ![image](https://user-images.githubusercontent.com/20699977/190453517-4dc446a6-8387-462e-9d87-f25ccbf556f0.png)

> 高版本的wx 比如3.7以上的是不是不让抓了 我的pc微信版本是 `3.7.6.44`, 这个版本是可以的 ![image](https://user-images.githubusercontent.com/20699977/190641708-5d6bb001-c209-4f89-a502-37db1d303c3e.png)

pc微信抓包看这里 https://github.com/Lcry/a-sheep-assistant/issues/40