ARTS:
- Algrothm: leetcode算法题目
- Review: 阅读并且点评一篇英文技术文章
- Tip/Techni: 学习一个技术技巧
- Share: 分享一篇有观点和思考的技术文章
Algorithm
【leetcode】111. 二叉树的最小深度
https://leetcode-cn.com/problems/minimum-depth-of-binary-tree
1)problem
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树[3,9,20,null,null,15,7]
,
3
/ \
9 20
/ \
15 7
返回它的最小深度 2
.
2)answer
采用后序遍历,当前结点的深度最小深度等于左右子树较小深度加一,唯一要注意的是如果当前结点的左右子树为空时,深度应该等于非空子树深度加一。
3)solution
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def minDepth(self, root: TreeNode) -> int:
if root is None:
return 0
if root.left and root.right:
return min(self.minDepth(root.left),self.minDepth(root.right)) + 1
else:
return max(self.minDepth(root.left),self.minDepth(root.right)) + 1
Review
【漏洞挖掘】APT攻击与银行
1)场景
APT攻击与银行的演讲PPT学习
2)问题难点
整体的攻击流程与防护
3)解决问题的方法
APT与传统攻击
攻击目标
APT攻击链
银行安全
体系庞大
外强里弱
钓鱼攻击
社会工程攻击的心理要素
钓鱼核心思路
钓鱼工具
防御APT
APT与普通恶意木马的要素
从测试开始
针对系统测试
测试方向
模拟攻击者行为
从蜜罐开始
从人开始
4)方法细节
https://www.cnblogs.com/17bdw/p/11565082.html
Tip
【安全开发】python3多线程的运用
1)场景
Python3多线程使用
2)问题难点
熟悉多线程操作
3)解决思路
多线程基础
join应用
Queue应用
GIL
lock
参考
4)方法细节
https://www.cnblogs.com/17bdw/p/11564848.html
Share
【业务】python3传文件到linux服务器然后解压
1)场景
python3传文件到linux服务器然后解压
2)问题难点
取证监测工具
3)解决思路
把文件传到Linux服务器解压
4)方法细节
https://www.cnblogs.com/17bdw/p/11559514.html