不会飞的章鱼

熟能生巧,勤能补拙,静能养慧;莫向外求,念念不忘,必有回响

打工人,越来越难了。

曾以为打工只是出卖自己的劳动力换取报酬,然而没想到行业内卷的这么严重,停止等于倒退;没有今天的996,哪有明天的669;优化不能加班的员工;35岁被裁…现在要成立HR联盟,垄断员工肆意跳槽。

我不知道未来将会怎样,今天意外刷到一部冷门电影《极乐空间》,放佛看到了打工人的未来。

社会缺什么,就会赞美什么————缺爱国情怀,就去拍各种抗日神剧;缺真善美,就去拍各种脑残傻白甜的电视剧…我一直很喜欢《妖猫转》里的一段话:人心这么黑暗,我想找到一种不再痛苦的秘密。而最后杨玉环给了我一个答案:生活是不完美的,但我依然可以选择去拥抱生活的美好。

什么是美好呢?也许是一次温暖的鼓励,也许是临行前父母的嘱托,也许是高考前妹妹大声喊着“哥哥高考必胜”,也许是大雪纷飞中公交车司机多等了我一分钟…可是,当我步入职场后,我却发现自己越来越难以坚守本心。

阅读全文 »

题目链接

https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/

题目解析

Golang

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
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func minDepth(root *TreeNode) int {
if root == nil {
return 0
}
leftDepth := minDepth(root.Left)
rightDepth := minDepth(root.Right)
if root.Left == nil {
return 1 + rightDepth
}else if root.Right == nil {
return 1 + leftDepth
}

return 1 + min(leftDepth,rightDepth)
}

func min(a,b int)int {
if a < b {
return a
} else {
return b
}
}

递归-Recursion

通过函数体来循环调用自己。

Python代码模板

1
2
3
4
5
6
7
8
9
10
11
12
13
def Recursion(level,param1,param2,...):
#递归终结条件
if level > MAX_LEVEL:
process_result
return

#处理当前层逻辑
process(level,data...)

#下探到下一层
self.Recursion(level+1,p1,...)

#清理当前层

Java代码模板

阅读全文 »

题目

https://leetcode-cn.com/problems/binary-tree-inorder-traversal/

题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> result = new ArrayList<Integer>();
helper(root, result);
return result;
}
private void helper(TreeNode root, List<Integer> ret) {
if (root != null) {
helper(root.left, ret);
ret.add(root.val);
helper(root.right, ret);
}
}
}

开始这篇文章之前,我特别查了learnstudy的区别,虽然两者都表示学习,但当我查了learn 和study有什么区别?的结果后,决定用learn,因为我们学习算法肯定是要学有所得,而不是重视学算法的过程!

引用一些大佬的话(持续更新)

覃超

亮老师

阅读全文 »