my::力扣每日题

2023-12

2023-12-31

Web安全。

DRF学习。

1154. 一年中的第几天

C++思路:模拟。先加上月份,再加上日,在判断是否闰年,是否要加上年。或者直接用昨天的函数判断输入日期和输入日期对应年的1月1日比差值。

时间:

空间:,C=12

回文串重新排列查询 - 力扣 (LeetCode) 竞赛

2023-12-30

休憩。

1185. 一周中的第几天

// 计算当前到0001-01-01经过的时间
int countdays(int y, int m, int d)
{
if (m < 3) y--, m += 12;
return 365 * y + (y >> 2) - y / 100 + y / 400 + (153 * m - 457) / 5 + d - 306;
}

时间:

空间:,C=7

2023-12-29

Web安全。

PS使用。

2706. 购买两块巧克力

C++思路:贪心。一次遍历,找到最小的两个数,然后判断两者和money的差值,按题意返回金钱数。

时间:

空间:

2023-12-28

2023-12-27

Web安全。

2660. 保龄球游戏的获胜者

C++思路:按题意模拟,算出两个的总和,最后比较。

时间:

空间:

2023-12-26

2023-12-25

网站开发。

1276. 不浪费原料的汉堡制作方案

C++思路:数学。观察可知,番茄数量小于奶酪数X2或大于奶酪数X4,直接返回空。当番茄数量为奇数,直接返回空。否则就可以算出巨无霸的数量是leave = (tomatoSlices - cheeseSlices * 2) / 2;,小皇堡是cheeseSlices - leave。返回两者数量。

时间:

空间:

2023-12-24

休憩。

1954. 收集足够苹果的最小花园周长

C++思路:模拟。假设右上角坐标是(n,n),算出公式:Sn=2n(n+1)(2n+1)。然后模拟判断Sn什么时候大于neededApples。最后返回8n为周长。

时间:,m指neededApples。

空间:

2023-12-23

网站开发。

1962. 移除石子使总数最小

C++思路:贪心 + 优先队列。先构造优先队列,然后每次弹最多的石头进行操作。最后算总和。

时间:

空间:

2023-12-22

2023-12-21

2023-12-20

休憩。

2828. 判别首字母缩略词

python3思路:模拟,return "".join([c[0] for c in words]) == s

2023-12-19

休憩。

C++思路:找到每行的最大值,然后再判断上下是否是最大即可。是就直接返回。

时间:

空间:

2023-12-18

DRF学习。

162. 寻找峰值

C++思路:二分查找。因为相邻数不想等且边界是无穷小,所以可以直接二分,以中点为判断条件,当中点右边的数小于中点时,表示峰值在左,移动rp,否则峰值在右,移动lp。最后返回rp即可。

时间:

空间:

2023-12-17

DRF学习。

746. 使用最小花费爬楼梯

C++思路:动态规划,类似爬楼梯。先给cost尾部加上一个0表示终点,同时设置一个step容器,记录前两步和前一步的最小花费。然后遍历cost,当前的最小花费就是前面两个取小并加上当前格子的花费。将然后将step[0]替换成step[1]表示前一步的最小花费,而step[1]替换成刚刚取小的那个花费。遍历结束返回step[1]即可。

时间:

空间:

使数组成为等数数组的最小代价 - 力扣 (LeetCode) 竞赛

执行操作使频率分数最大 - 力扣 (LeetCode) 竞赛

2023-12-16

Web安全。

网站搭建。

2023-12-15

Web安全。

网站搭建。

2415. 反转二叉树的奇数层

C++思路:广度优先搜索。记录当前层是奇数还是偶数,奇数就将值存起来交换。

时间:

空间:

2023-12-14

Web安全。

网站搭建。

2023-12-13

Web安全。

网站搭建。

2697. 字典序最小回文串

C++思路:双指针,按题意首尾开始遍历。判断首和尾对应的两个字符是否相等,不相等取小的那个,相等不变。返回s。

时间:

空间:

2023-12-12

网站搭建。

文档整理:PHP

2023-12-11

2023-12-10

整理文档

70. 爬楼梯

python3思路:动态规划。

2023-12-09

休憩

2048. 下一个更大的数值平衡数

C++思路:打表 + 二分查找。先写个表,记录所有的数值平衡数,根据数据范围记录到1224444即可。然后对其二分查找,找到第一个严格大于n的数。表的制作就是直接遍历数值范围+100000的数,每次记录每个数的每一位数,然后判断,当满足条件时,将数加入到表中。

时间:

空间:

2023-12-08

2023-12-07

休憩

2023-12-06

2023-12-05

2023-12-04

2023-12-03

半开放连接扫描器开发。

1423. 可获得的最大点数

C++思路:滑动窗口,按题意,剩下的连续的数字最小,那么取出的数字就是最大的。(动态规划会超时)

时间:

空间:

需要添加的硬币的最小数量 - 力扣 (LeetCode) 竞赛

统计完全子字符串 - 力扣 (LeetCode) 竞赛

统计感冒序列的数目 - 力扣 (LeetCode) 竞赛

2023-12-02

半开放连接扫描器开发。

2023-12-01

半开放连接扫描器开发。

2023-11

2023-11-30

Web安全。

网站搭建。

1657. 确定两个字符串是否接近

C++思路:计数。先计数,用int容器。然后做for循环,当某个字符只出现在word1或者word2中,返回false,因为无论怎么换都不能换得相同。结束后对int容器排序,返回count1 == count2

时间:

空间:

2023-11-29

Web安全。

网站搭建。

2336. 无限集中的最小数字

C++思路:有序集合。设立两个变量,一个有序集合,一个整型为1。push方法是判断输入的数字是否小于整型,小于表示没有,插入到有序集合中,否则不插入。pop方法先判断集合是否是空,空则返回整型并让整型加一。否则返回集合中的第一个元素。

时间:操作需要,n是有序集合s的元素个数。

空间:

2023-11-28

Web安全。

网站搭建。

1670. 设计前中后队列

C++思路:内部实现是两个双端队列。

时间:

空间:

2023-11-27

网站搭建。

分离HTML和CSS文档。

2023-11-25

网站搭建。

Web安全。

1457. 二叉树中的伪回文路径

C++:DFS,每次记录数字出现个数。当该节点左右节点都空时,判断记录的数组出现次数奇数和偶数的个数,如果出现数字的次数存在2个以上的奇数,那就无法构成回文串,否测可以。

时间:

空间:

2023-11-24

网站搭建。

2824. 统计和小于目标的下标对数目

C++思路:按题意暴力。(或者也可以排序+二分,因为排序不会影响结果,不用记录下标)

时间:

空间:

2023-11-23

Web安全。

网站搭建。

1410. HTML 实体解析器

python3思路:双指针。先做一个字典,然后循环,lp小于text长度,当当前字符不是&,存入结果,lp加一。否则进入内循环,rp小于text长度。当rp指向的字符是;且rp和lp距离小于等于6时(最长实体字符长度),判断字符是否在字典中,在就替换并lp加一,不在就不替换并lp加一。否则当rp和lp距离大于6时,存入lp字符并lp加一,否则rp加一。最后返回字符串。

时间:,k为实体字符长度和,32。

空间:

2023-11-22

Web安全。

网站搭建。

2304. 网格中的最小路径代价

C++思路:动态规划。按题意,每次加上到达下一点的最小值,依次循环。注意路径点的值也要加上,最后返回一行终点中最小的点值。

时间:

空间:

2023-11-21

网站搭建。

Web安全。

2216. 美化数组的最少删除数

C++思路:贪心。思路上是将两两分组。组内元素不能相同,组间元素可以相同。一个for循环,i < len - 1。当nums[i] == nums[i + 1]时,去掉组内前一个元素,res++,下次依靠for循环自己的i++将形成一个新组。否则跳过组,i++。最后还要判断数组长是否为偶数,不是再减去1,去掉最后一个元素。

时间:

空间:

2023-11-20

网站搭建。

Web安全。

2023-11-18

网站搭建。

Web安全。

2342. 数位和相等数对的最大和

C++:哈希表。键是数位和,值是一个容器,记录最大的两个数。先一个for循环,计算下标和,然后加到哈希表中。若对应的键中没值直接加,若键中存在一个值,加完后判断谁的值更大,将更大的放到前面。若键中存在两个值,先和第一个比较,如果大于第一个,将第二数替换成该数,然后交换两个数,保证大数在前。如果大于第二个,直接和第二个换。最后遍历哈希表,返回最大的和。

时间:

空间:

2023-11-17

网站搭建。

Untiy学习。

2023-11-16

网站搭建。

Untiy学习。

2760. 最长奇偶子数组

C++思路:指针遍历。一个while,按题意,当满足数字是偶数且小于threshold时进入内循环,否则p++。内循环中,先设置temp=1,然后一个while,两个if,第一个是当数字是奇数时,temp和p都加一,否则p加一后跳出内循环。第二个是数字是偶数。结束后res=max(res, temp);。最后返回res。

时间:

空间:

2023-11-15

网站搭建。

2656. K 个元素的最大和

C++思路:贪心。先遍历一次,选出最大值。然后直接等差数列求和。

时间:

空间:

2023-11-14

2023-11-13

Javascript学习。

更新结构:Web渗透、Web渗透工具、Kali Linux。

2023-11-12

2023-11-11

渗透测试学习。

Redis学习。

Cocos学习。

765. 情侣牵手

C++思路:贪心。官解是并查集。先做一个无序哈希表,然后for遍历,键是编号,值是数组索引。然后一个for遍历,当相邻位置是另一半时,直接跳出此次循环,i += 2,否则将row[i+1]的位置和自己的真正的另一半进行交换,通过更新哈希表中的座位号,交换次数加一。返回交换次数。

时间:

空间:

2023-11-10

Vue学习。

Redis学习。

2300. 咒语和药水的成功对数

C++:排序 + 二分。对每次都positions做二分查找。然后将结果加到res中,返回res。

时间:

空间:

新增:Redis

2023-11-09

Vue学习。

Cocos学习。

2023-11-08

Vue学习。

Cocos学习。

2609. 最长平衡子字符串

C++思路:计数。for循环。

时间:

空间:

2023-11-07

Vue学习。

算法学习。

2586. 统计范围内的元音字符串数

C++思路:模拟。

时间:,L=5

空间:

2023-11-06

Vue学习。

318. 最大单词长度乘积

python3:暴力。先set去重然后按题意两个for依次判断。

2023-11-05

Django学习。

187. 重复的DNA序列

C++思路:一个for循环,依次切出子串,将子串出现次数加入到字典中,若次数等于2,将该子串加入到结果数组中,返回结果。

时间:,L=10

空间:

2023-11-04

算法学习。

文章更新。

更新了部分文章的结构:Web后端文章,游戏程序文章。

2023-11-03

Bootstrap学习。

Vue学习。

117. 填充每个节点的下一个右侧节点指针 II

C++思路:BFS,队列辅助。每次出队后判断该节点是否是该层的尾节点,如果不是则将该节点的next指向队头结点,如果是则将该节点的next指向NULL。

时间:

空间:

新增:Bootstrap。

2023-11-02

vue学习。

2103. 环和杆

C++思路:字典。键是0-9,值是RGB的数量的容器。当RGB数量都大于0时结果加一,返回结果。

时间:,m:杆数量,k:颜色数量。n:rings长度。

空间:

2023-11-01

2023-10

2023-10-31

2023-10-30

vue学习。

Django学习。

275. H 指数 II

C++:二分查找。条件是if(citations[mid] >= len - mid)移动rp,返回值是len - lp

时间:

空间:

2023-10-29

vue学习。

Django学习。

算法练习。

274. H 指数

C++思路:计数排序。先计数,然后按题意依次拿出来判断是否满足条件。

时间:

空间:

新增:算法进阶

2023-10-28

vue学习。

Django学习。

2558. 从数量最多的堆取走礼物

C++:最大堆。先建堆,然后对k一个for,每次按题意出堆操作后入堆。最后再累加,类型是long long

时间:

空间:

2023-10-27

vue学习。

Django学习。

1465. 切割后面积最大的蛋糕

C++:排序,然后贪心,选出最大的高和宽相乘。

时间:

空间:

2023-10-26

Django学习。

2520. 统计能整除数字的位数

C++:提出每一位做运算。提出位数的方法:int temp = num % 10; num = num / 10;

时间:

空间:

2023-10-25

Django学习。

2698. 求一个整数的惩罚数

C++思路:打表。表的数据按递归获得。

时间:,m是表长。

空间:

2023-10-24

2023-10-23

Django学习。

2678. 老人的数目

C++思路:模拟,枚举对应字符进行判断。

时间:

空间:

2023-10-22

算法题练习。

Django学习。

1402. 做菜顺序

C++思路:贪心算法。排序,然后找到0的位置。然后记录两个数,一个是从0开始后面的累加和,一个是从0开始后面的累加和,但是包含等级。此时res等于带等级的累加和。然后做一个for循环,从0的前一个数开始向前加。同样是记录两个数,一个是从此开始向前的累加和,一个是带等级的,等级从1开始。每次判断,当正累计和加上负累计和小于res,返回上一个res即可。

时间:

空间:

2023-10-21

算法题练习。

2316. 统计无向图中无法互相到达点对数

C++思路:并查集。官解。

2023-10-20

算法题练习。

cocos学习。

2525. 根据规则将箱子分类

C++思路:模拟。注意溢出。

时间:

空间:

2023-10-19

算法题练习。

C++游戏练习。

python工具编写。

1726. 同积元组

C++:哈希表。由题nums由不同正整数组成,所以数字两两的乘积若相等,则数一定不相等,满足题意。所以只需把两两乘积加入到字典中,乘积值为键,乘积的个数为值。最后再写一个for,提出哈希表的累加到结果中,根据排列组合,res += val * (val - 1) * 4;最后返回res。

时间:

空间:

计算机网络:整理。

C++:整理。

2023-10-18

算法题练习。

2530. 执行 K 次操作后的最大分数

C++:优先队列+贪心。构建优先队列,然后一个for循环,每次找出优先队列的最大的数,累加后按题意操作,再放回到优先队列中。返回累加值

时间:

空间:

2023-10-17

算法题练习。

C++游戏练习。

2652. 倍数求和

C++思路:数学。求出n之前的3,5,7分别的倍数之和,然后减去两两搭配的值,最后加上3 * 5 * 7的和的值,就是最后的值。求和可以用等差数列来求。(可以画韦恩图理解思路)

时间:

控件:

新增C++游戏。

2023-10-16

算法题练习。

260. 只出现一次的数字 III

C++思路:位运算。先全异或,得到的结果是两个只出现一次的元素的异或结果。然后从右向左找到第一个1,表明这是两个数首个不同的地方,记为div。然后再做一个for循环,让结果和div做与运算。为0的分成一组,结果与nums[i]异或。不为0的分为另一组,结果与nums[i]异或。这样两个数就被区分开来,剩下的数也被异或成了0。返回这两个数。

时间:

空间:

2023-10-15

算法题练习。

137. 只出现一次的数字 II

C++思路:位运算模3。一个for循环,循环32次。在循环中对nums做一个for循环,每次拿出nums的同一位数累加,然后将结果取模3后移回原始位数。返回结果。

时间:

空间:

2023-10-14

算法题练习。

136. 只出现一次的数字

C++思路:异或。设置一个res为0。然后让每一个nums值和res做异或,因为两个相同的数异或为0,所以那个只出现一次的数和res异或后就是那个数。返回res。

时间:

空间:

2023-10-13

算法题练习。

2023-10-12

复习。

2562. 找出数组的串联值

python3思路:转成字符串挨个拼接后转成整形求和。

C++:C语言。

2023-10-11

复习。

2512. 奖励最顶尖的 K 名学生

python3思路:哈希。先把积极词和消极词都存入字典中,然后将评语和id绑定,依次判断每个人的总分,然后选出总分最高的几位即可。

时间:

空间:

2023-10-10

计算机网络复习。

2023-10-09

休息。

2578. 最小和分割

python3思路:字典+贪心。先把数字出现的次数放入字典中。然后确定num1和num2的位数。比如num是6位那么num1和num2都是3位。然后while循环,从字典的小键加到大键。

时间:

空间:

2023-10-08

2023-10-07

休息。

901. 股票价格跨度

python3思路:单调栈。初始化函数中设定一个栈。在next函数中先设置res=1。然后一个while循环,当栈不空且栈顶值小于等于price时,栈顶出栈,res加上栈顶的第二个元素值。循环结束后将当前的price值和res值构成一个列表存入栈中,返回res。

时间:

空间:

2023-10-06

2023-10-05

typescript学习。

cocos学习。

git学习。

linux:格式修改。

2023-10-04

2023-10-03

2023-10-02

星火编辑器。

cocos学习。

122. 买卖股票的最佳时机 II

python3思路:贪心算法,最低值买入最高值卖出即可。设置最低最高值都为第一个值。然后for循环,当价格小于最高值时,结果加上最高值减去最低值,更新最低最高值为当前值,否则更新最高值为当前值即可。最后返回res + maxs - mins

时间:

空间:

2023-10-01

cocos学习。

121. 买卖股票的最佳时机

python3:遍历。先找到第一个值作为最小值,然后for循环。当价格小于最小值,mins = min(mins,prices[i])。否则res = max(res,prices[i] - mins)。返回res。

时间:

空间:

2023-9

2023-9-30

星火编辑器。

JavaScript学习。

cocos学习。

2023-9-28

星火编辑器。

2251. 花期内花的数目

python3思路:参考官解二分查找。先把flowers中每个列表的第一个数提出来并升序排序,构成starts列表,然后把第二数拿出来升序排序,构成ends列表。然后遍历people,每次进行二分查找,从右边找starts中的值作为起始值,从左边找ends中的值作为结束值,然后用起始值减结束值。这样就表明了有多少个值实在范围内。

2023-9-27

星火编辑器。

1333. 餐厅过滤器

python3思路:按题意将满足条件的值存入字典中,键为等级,值为id列表。然后排序,按键最大id最大的顺序将结果加到res中,返回res。

时间:

空间:

2023-9-26

星火编辑器。

2582. 递枕头

class Solution:
def passThePillow(self, n: int, time: int) -> int:
temp = time % (2 * (n - 1)) + 1
if temp > n:
temp = n - (temp - n)
return temp

时间:

空间:

2023-9-25

星火编辑器。

2023-9-24

星火编辑器。

146. LRU 缓存

python3思路:双向链表+字典。字典的键是键,值是链表节点。链表首部表示最近最少被使用,尾部表示最近最多被使用。每次存数据,若数据在字典中,更新值并把节点放入尾部。若数据不在,判断容量,若容量满了,删除首部节点并插入新节点到尾部。没满则直接插入到尾部。取数则先判断存在,存在则取节点后还要把节点放入尾部。

时间:

2023-9-23

星火编辑器体验。

2023-9-22

笔记整理。

2591. 将钱分给最多的儿童

C++思路:先判断孩子数是否小于钱,小于返回-1。然后设置一个temp为children * 8 - temp,表明分钱后剩余的钱,如果temp为4,孩子数要减2,表明有一个分了8的孩子要分9才能保证钱数没有4。如果temp小于0,孩子数减1,表明有一个孩子要承担剩下的所有的钱。最后返回(temp - children) / 7,表明每个孩子分1块钱后还有多少的孩子能分到8块。返回值为结果。

时间:

空间:

文章整理:html+css,JavaScript,C++。

2023-9-21

python复习。

python:文章结构更新。

2023-9-20

安全靶场训练。

星火编辑器体验。

LCP 06. 拿硬币

C++思路:模拟。直接遍历累加。

时间:

空间:

pikachu:文件上传漏洞。

2023-9-19

安全靶场训练。

C++:STL算法。

星火编辑器体验。

pikachu:文件包含。

C++:STL。

2023-9-18

安全靶场训练。

337. 打家劫舍 III

python3思路:动态规划 + DFS。

从根节点出发,有两种选择。一是偷根节点和不偷左右节点,一是不偷根节点和偷左右节点。设定一个dfs遍历全部节点,当root为None返回0,0。否则遍历左右节点,然后求出偷和不偷的值,返回这两个值。dfs结束后在两个值之间取一个最大值即可。

时间:

空间:

pikachu:命令执行。

DVWA:命令执行。

2023-9-17

C++:STL学习

213. 打家劫舍 II

python3思路:动态规划。在打家劫舍的基础上分两种情况,一种不考虑首,一种不考虑尾。最后在这两者之间取最大值即可。

时间:

空间:

题目名称-SSRF Me

  1. 写一个PHP循环,解出captcha的值。
  2. 包含文件,URL为file:///flag。由于flag会被禁止,所以可以将其进行URL编码。最终结果为file:///%66%6C%61%67。

C++:vector,deque。

2023-9-16

渗透题练习。

198. 打家劫舍

python3思路:动态规划。

  1. 子问题:第i个房子所偷的最大的钱。
  2. 确定dp:dp[i] = max(dp[i-2] + dp[i],dp[i-1]),偷i或者不偷i。
  3. 初始化:dp[0] = nums[0],dp[1] = max(num[0],num[1])
  4. 遍历顺序:for(int i=2;i<len(nums);i++)

时间:

空间:

2023-9-15

安全靶场训练。

LCP 50. 宝石补给

python3思路:模拟。先模拟一遍,修改gem的值,再return max(gem) - min(gem)即可。

时间:

空间:

pikachu:XXE漏洞。

2023-9-14

安全靶场训练。

1222. 可以攻击国王的皇后

python3思路:模拟。设定八个方向,然后一个for,每次拿出一个方向,设置while循环,如果移动不越界的话,改变king的位置。当该位置有queen时,把结果加到res中,结束while循环。最后返回res即可。

时间:

空间:

这题不会

pikachu:URL跳转和信息泄露。

2023-9-13

安全靶场训练。

2596. 检查骑士巡视方案

python3思路:模拟。注意此题有坑。当grid[0][0]不为0的时候,直接返回False即可,因为这不是一个满足条件的有效方案。然后设置八个方向存入元组中。一个while循环,条件是下一个目标点小于所有点数。然后一个for循环,从当前位置开始,当方向合法且存在点是下一个目标点时,目标点值加一,如果八个方向都不是,直接结束while循环。否则就更新下一目标点。最后判断下一目标点是否等于所有点数,等于返回True,否则返回False。

时间:

空间:

pikachu:SSRF漏洞。

2023-9-12

安全靶场训练。

牛客算法练习。

pikachu:CSRF漏洞。

2023-9-11

安全靶场训练。

pikachu:XSS漏洞。

DVWA:XSS漏洞。

2023-9-10

C++:模板。

C++:模板。

2023-9-9

Unity:状态机学习。

2023-9-8

安全靶场训练。

2651. 计算列车到站时间

python3思路:相加取模。

时间:

空间:

297. 二叉树的序列化与反序列化

my::python代码

python思路:DFS+先序遍历。

序列化的时候,全局设置一个res,再设置一个dfs函数,每次先判断当前结点是否存在,存在则向res中先添加当前结点的值,然后若左子树存在,添加”L”字符,同理dfs左子树。右子树同理存在添加一个”R”字符然后遍历。最后无论结点是否存在,都添加一个”B”字符,然后返回。最后返回res作为序列化结果。

反序列化的时候,设置一个dfs函数,传递当前节点和idx=0值。然后每次获得data中的一个字符。设置一个temp。若是L则先判断temp中是否有值,有就添加为当前结点值,然后idx = dfs(node,idx + 1)。R同理。若是B则先判断temp,再return idx + 1。若都不是则temp.append(data[idx])后再idx += 1

最后返回最初的根节点即可。

时间:

空间:

Web——Web_php_unserialize

(preg_match('/[oc]:\d+:/i', $var))绕过:O:4:改成O:+4:

__wakeup()绕过:"Demo":1:改成1以上的数字("Demo":2:)。因为在 PHP5 < 5.6.25, PHP7 < 7.0.10 的版本存在wakeup的漏洞。当反序列化中object的个数和之前的个数不等时,wakeup就会被绕过。

# 注意:因为demofile属性是private属性,所以在序列化的时候会在名字中加入%00(空白符),所以base64编码可以使用如下方式进行,这样可以保证空白符的存在。
$demo = new Demo('fl4g.php');
$str = serialize($demo);
$str = str_replace('O:4', 'O:+4',$str);
$str = str_replace(':1:', ':2:',$str);
var_dump(base64_encode($str));

payload:?var=TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4OiJmbDRnLnBocCI7fQ==

pikachu:反序列化。

DVWA:SQL注入。

2023-9-7

安全靶场训练。

Unity:状态机学习。

2594. 修车的最少时间

C#思路:二分查找。设置上限和下限。每次判断中间的数值是否满足题意。若满足,调整上限为中间数值。不满足,调整下限为中间数值加一。直到下限大于等于上限跳出循环。返回下限,此时下限就是满足条件的最小时间。

时间:。L为上限。

空间:

pikachu:SQL注入。

2023-9-6

安全靶场训练。

Unity:状态机学习。

1123. 最深叶节点的最近公共祖先

C#:深度优先搜索。设置maxDpeth和res为类变量。定义public int dfs(int depth, TreeNode node),在LcaDeepestLeaves()中线初始化maxDepth = -1和res。然后调用dfs,最后返回res作为结果即可。

在dfs中,先判断node是否为空,为空则更新maxDepth,并且返回当前depth,否则对当前node的左右节点做dfs,记录分别最大深度值。如果左最大深度等于右最大深度等于全局最大深度,更新res = node,最后返回左最大深度和右最大深度中较大的。

时间:

空间:

Web——easyphp

存入CTF例题中。

a:利用科学计数法,例如a=1e8。

b:直接写个for循环暴力搜索。最后找到b=53724。

c:首先c有m,n两个键,所以是索引数组m和n。因为m要非数字且大于2022,所以可以让m=2044a,字符串和数字组合,两个条件都满足。因为Count(n)为2,所以还要创建一个数组。n[0]存在,任意复制。后面看似”DGGJ”既要存于数组中又不要存于数组中,实则由于array_search查找是通过if进行比较。当一个字符串和一整数比较时会将字符串向整数转化。所以只需填入0两者便会相等。

最后Payload:http://61.147.171.105:55516?a=1e8&b=53724&c={"m":"2044a","n":[["1"],0]}

pikachu:目录遍历。

python爬虫:结构更新。

CTF例题:easyphp。

2023-9-5

安全靶场训练。

Unity:2D游戏学习。

2605. 从两个数字数组里生成最小数字

C#思路:哈希表。先遍历num1和num2,记录下数字是否出现到各自的新数组中,数组长度为10。然后再进行依次遍历,i = 10,先判断num1和num2是否都出现了同一个数字,出现了则直接返回该数字。否则分别记录下num1和num2的最小值,返回他们组合后的最小值。

时间:,C = 10

空间:

pikachu:越权访问。

2023-9-4

安全靶场训练。

DVWA:暴力破解。

pikachu:暴力破解。

2023-9-3

休息。

2023-9-2

休息。

2511. 最多可以摧毁的敌人城堡数目

python3思路:遍历。设置当前值now和索引idx。一个for。当forts[i]的值为1或-1时进行判断。如果值等于-now,就res = max(i - idx - 1,res)并且更新now值,否则只需更新now值。返回res。

时间:

空间:

2023-9-1

编写密码器。

2240. 买钢笔和铅笔的方案数

python3思路:直接遍历。找到cost中的大值和小值。设置一个while循环,当大值所选花销小于等于total时循环,每次累加的结果值为剩余的钱整除小值后的钱再加1,然后大值所选个数加1。最后返回结果。

时间:

空间:

2023-8

2023-8-31

编写密码器。

2023-8-30

编写密码器。

2023-8-28

编写密码器。

57. 插入区间

同理昨天

2023-8-27

编写密码器。

2023-8-26

休息。

228. 汇总区间

python3思路:遍历。先判断nums长度0和1的情况,然后for循环。记下首尾两个数。每次判断nums当前数字是否等于应该出现的尾数。不等于则根据首尾数差判断加入到Output中的样式。等于则尾数+1。结束后再判断一次首尾数字。返回结果。

时间:

空间:

2023-8-25

休息。

1448. 统计二叉树中好节点的数目

python3思路:DFS。记录路径下的最大值,然后向下传。满足条件将res++并更新路径中的最大值。

时间:

空间:

2023-8-24

休息。

1267. 统计参与通信的服务器

python3思路:直接遍历。先两个for遍历出每行每列有多少台服务器,存入字典中。然后再两个for遍历,当某个位置存在服务器且该行或该列的服务器数量大于1时,总数加一。返回总数。

时间:

空间:

2023-8-22

休息。

849. 到最近的人的最大距离

python3思路:双指针。分三段,先一个for找到第一个人的位置,此时最大距离是最左边到第一个人的位置,然后左指针指向他。之后再一个for,找到人后先右指针指向他,最大距离就是左右指针距离差的一半再向下取整。然后左指针指向右指针。结束后,再判断一下最后一个座位是否为空。是的话此时最大距离是最后一个位置到左指针的距离。最后返回其中的最大的一个距离。

时间:

空间:

2023-8-21

休息。

2337. 移动片段得到字符串

python3思路:双指针。先用replace将”_”替换成””判断两个字符串是否相等,如果不相等直接返回False。然后在设置lp指向start头,rp指向target头。当lp未越界时,判断lp和rp指向L时是否lp<=rp,指向R时是否lp>=rp,全满足就返回True,有一个不满足就返回False。

2023-8-20

休息。

2023-8-19

玩了一天。

2235. 两整数相加

直接相加。

2023-8-18

Unity:2D游戏学习。

2023-8-17

玩了一天。

2023-8-16

玩了一天。

2682. 找出转圈游戏输家

python3思路:模拟。

时间:

空间:

2023-8-15

Unity:2D游戏学习。

833. 字符串中的查找与替换

python3思路:哈希表。建立字典,找到indices的值作为键,索引作为值。然后给键从小到大排序、之后对其进行一个for循环。设立一个当前位置nxt和一个res列表。每次先把从nxt到当前索引的位置的字符加入到res中。然后判断是否需要替换,加入对应的字符串并更新nxt的位置。最后将res拼接成字符串输出。

时间:

空间:

2023-8-14

Unity:寻路系统。

617. 合并二叉树

C#思路:参考评论区。递归。如果root1为空返回root2,如果root2为空返回root1。否则返回一个新节点,节点值为两者之和,左节点为MergeTrees两者的左节点,右节点同理。

时间:

空间:

2023-8-13

Unity:寻路系统。

88. 合并两个有序数组

C#思路:参考评论区。反向双指针。设三个指针p1,p2分别指向num1的m-1,nums2的n-1,p指向m+n-1。因为数组有序。所以一个while循环,每次比较p1,和p2的元素大小,将较大的放入p的位置。然后将p1或p2(较大的)减一,p减一。结束条件是p2 < 0。因为数组有序,所以p2 < 0即可,剩下的p1的元素也是有序的。

时间:

空间:

2023-8-12

Unity:寻路系统。

更改关于中的文章的时间顺序。

23. 合并 K 个升序链表

python3思路:先一个for,找到链表中的val值作为键,在lists中的index值作为值存入字典。字典值是一个列表。之后给字典的键进行从小到大排序。设置好头结点。然后再两个for,每次找到最小键的最小值,该索引对应的链表值就是需要的值。依次往头结点上进行拼接。最后返回头结点。

时间:,n为链表节点数总数。

空间:

日志:每日日志由2023-5 / 6 / 7 / 8四个网页合成成一个。同时修改日志的时间顺序为降序。

2023-8-11

Unity:2D小游戏学习。

1572. 矩阵对角线元素的和

C#思路:一个for遍历,每次加上左上到右下,左下到右上的同一列的两个数。最后判断mat的长度,如果是奇数再减去重复的中心的值。

时间:

空间:

2023-8-10

Unity:2D小游戏学习。

2023-8-9

Unity:2D小游戏学习。

1281. 整数的各位积和之差

python3思路:模拟。

2023-8-8

Unity:2D小游戏学习。

1749. 任意子数组和的绝对值的最大值

C#思路:前缀和。参考题解。找到前缀和中的最大值和最小值,两者相减取绝对值就是子数组的最大值。

时间:

空间:

2023-8-7

Unity:2D小游戏学习。

344. 反转字符串

C#思路:一个for,长度为数组的一半。每次通过异或交换指定位置的字符。

时间:

空间:

2023-8-6

Unity:2D小游戏学习。

2023-8-5

玩了一天。

这题不会

这题不会

待更新

2023-8-4

Unity:2D小游戏学习。

2023-8-3

Unity:2D小游戏学习。

2023-8-2

Unity:2D小游戏学习。

2023-8-1

Unity:2D小游戏学习。

2023-7

2023-7-31

算法题。

Unity:2D小游戏学习。

143. 重排链表

C#思路:先快慢指针,找到链表中点。然后反转后面的链表。最后将前后两个链表进行合并。

时间:

空间:

2023-7-30

Unity:2D小游戏学习。

2023-7-29

Unity:2D小游戏学习。

2023-7-28

Unity:2D小游戏学习。

2023-7-27

Unity:2D小游戏学习。

2023-7-26

Unity:2D小游戏学习。

2023-7-25

Unity:2D小游戏学习。

2023-7-24

Unity:2D小游戏学习。

771. 宝石与石头

python3思路:哈希表。先把jewels出现的字母存入字典,然后判断stones的字母是否在字典中。

2023-7-23

Unity:2D小游戏学习。

2023-7-22

Unity:2D小游戏学习。

860. 柠檬水找零

python3思路:拿一个字典存5元和10元的数量。然后一个for判断,10元会减去1张5元的,20元可以选择减去1张10元1张5元,或者减去3张5元的。不满足条件就返回False,循环完成返回True。

时间:

空间:

2023-7-21

Unity:协程。

2023-7-20

Unity:Animator。

2023-7-19

算法题。

874. 模拟行走机器人

python3思路:哈希表模拟,同官解。

2023-7-18

计算机网络:简单复习。

Untiy:2D小游戏学习。

2023-7-17

英:词听。

算法题。

Unity:持久化存储。

415. 字符串相加

python3思路:双指针。从尾部开始加,设置进位位。先是while lp >= 0 and rp >= 0,然后再while lp >= 0while rp >= 0,依次加上值和进位位。最后若进位位等于1,还要在加上一次进位位。

时间:

空间:

2023-7-16

Unity:2048UI学习 + C#。

Csharp:集合。

Unity脚本:UGUI。

2023-7-15

Unity:2048UI学习。

2023-7-14

Unity:2048UI学习。

2023-7-13

Unity:2048UI学习。

2023-7-12

Unity:练习。

2023-7-11

Unity:三维数学。

1911. 最大子序列交替和

c++思路:评论区看到的贪心。首先取第一个值,然后一个for,取res += max(nums[i] - nums[i-1],0);。这样可以保证是最大的偶数值减去最小的奇数值。

2023-7-10

玩了一天

2023-7-9

Unity:三维数学。

Unity脚本:三维数学

2023-7-8

算法题。

Unity:三维数学。

167. 两数之和 II - 输入有序数组

C++思路:双指针。因为必有解且数组有序,不用额外空间。所以先创建结果数组,把左右指针存入数组中。然后一个while,当指向的值不等于结果时,进入while再判断,当它们的和大于结果,说明结果大了,移动右指针,否则移动左指针。跳出循环后表明找到结果。因为是索引1开始,所以指针结果加一后返回。

时间:

空间:

Unity脚本:三维数学和UI界面。

2023-7-7

Unity:三维数学。

Unity脚本:三维数学。

2023-7-6

算法题。

绘画。

2178. 拆分成最多数目的正偶数之和

C++思路:先判断奇偶,然后一个for,第一次结果中加上2,第二次加上4,依次类推,直到剩余的数小于此次要加的数,然后把余数加到最后一个数上。这样数组是最长的。

2023-7-5

英语词。

算法题。

2600. K 件物品的最大和

C++思路:贪心。先判断1和k的数量关系,再判断0和k的数量关系,最后判断-1和k的数量关系。

时间:

空间:

2023-7-4

算法题。

C#:高级。

2679. 矩阵中的和

python3算法:暴力,先给每列排序。然后两层for,每次找到nums[row]那一行最大的列值。返回累加值。

时间:

空间:

C#:高级

2023-7-3

算法题。

逆向:串操作。

445. 两数相加 II

python3思路:先反转两个链表,然后同理昨天。最后生成的链表也反转一下。或者用栈也行。

反汇编代码分析:汇编指令。

2023-7-2

英语词。

算法题,算法赛。

2. 两数相加

python3思路:先创建一个头结点和一个进位位。然后循环,每次判断l1和l2是否有一个非空,存在则加上非空的那个值和进位位。加完后判断是否有进位,有的话进位位设为1,没有设为0。循环结束再判断一次进位位。最后返回头结点的下一个节点。

时间:

空间:

2023-7-1

英语词。

2023-6

2023-6-30

英语词。

2490. 回环句

python3思路:先判断字符串首尾字符是否相等,然后一个for遍历,遍历到空格判断空格前后字符是否相等。

2023-6-29

玩了一天。

2023-6-28

玩了一天。

2023-6-27

英语词听。

逆向:字符串比较。

1186. 删除一次得到子数组最大和

python3思路:官解,不会。动态规划。

反汇编代码分析:汇编指令。

2023-6-26

英语词听读。

算法题,Web题。

MMD学习。

网站:更新分类样式,卸载了首页的分类栏。

2485. 找出中枢整数

python3思路:先算出lsum和rsum,然后一个for,每次让lsum+=irsum-=(i-1),判断两者是否相等。

时间:

空间:

更节约时间的可以通过等差数列求和,判断

Web——babyweb

查看了提示。

投机:/ssrf.php?urlfile:///flag

2023-6-25

英语词听读。

算法题,Web题。

逆向:逻辑运算。

MMD学习。

1401. 圆和矩形是否有重叠

python3思路:评论区。先找到矩形上离圆心最近的点,然后判断

代码:dx,dy = max(0,x1-xCenter,xCenter-x2),max(0,y1-yCenter,yCenter-y2)

时空复杂度:

Web——fakebook

查看了提示。

关键点:

  1. 御剑扫描后台,发现flag.php但访问没有反应。
  2. 注册,blog不合法。robots.txt发现bak文件,查看源码,完成blog的注册。
  3. 注册成功后进入view.php?no=1,整形联合报错注入,union和select之间要空格绕过。
  4. 发现反序列化函数,构造payloadview.php?no=1 and 1=2 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.php";}' --+
  5. 在工作台发现结果,base64解码。

反汇编代码分析:逻辑运算。

2023-6-24

英语单词。

逆向:浮点数操作。

渗透:msf复习。

MMD学习。

2023-6-23

英语单词。

算法题。

2496. 数组中字符串的最大值

python3整活:return max([int(s) if s.isdigit() else len(s) for s in strs])

2023-6-22

玩了一天。

2023-6-21

玩了一天。

LCP 41. 黑白翻转棋

思路:暴力BFS,没写出来。

2023-6-20

玩了一天。

2023-6-19

玩了一天。

2023-6-18

玩了一天。

2023-6-17

玩了一天。

2023-6-16

玩了一天。

2023-6-15

玩了一天。

2023-6-14

Web开发:管理系统全功能完成。

2023-6-13

英语单词。

Web开发:管理系统的搜索功能。

2023-6-12

英语单词。

Web开发:管理系统的写入数据库功能。

2023-6-11

英语单词。

Web开发:管理系统的注册和登录界面(连接数据库操作)。

2023-6-10

英语单词。

算法赛。

Web开发:管理系统的后台功能页面完善。

2023-6-9

英语单词。

Web开发:管理系统的后台功能页面完善。

2023-6-8

英语单词。

区块链书本复习。

Web开发:管理系统的后台功能页面完善。

1240. 铺瓷砖

阿巴阿巴

2023-6-7

英语单词。

算法题。

网站代码块和链接问题修复。

区块链:私有链实现。(存在错误)

PHP:完善笔记。

2611. 老鼠和奶酪 - 力扣(LeetCode)

开始想用dfs,会超内存。然后看了官解。

python3思路:先算reward1-reward2存入diff,然后排序,然后把reward2的值求和,最后做一个for到k,每次用结果加上diff[len - 1 - i]。这样等于是选了最优的reward1的值。

时间:

空间:

  1. 网站信息和每日活动移动至关于位置,不再在首页中显示。
  2. 网站代码块问题修复。修复方式:卸载全部文章再重新放入网站中。
  3. 修复了链接其他文章网址错误的问题。

PHP:动态交互和部分安全编程。

2023-6-6

英语单词。

算法题。

修复网站代码块问题,但C#脚本文件存在代码块问题。

Web开发:管理系统的登录页面前端程序完善。

Unity:叉乘,欧拉角,四元数。

2352. 相等行列对

python3思路:模拟+字典。先在一个for里获得每行和每列的值,判断值在不在字典中,不在就存入,在就+1。字典的键是每一行或每一列做成的元组,值是一个列表,存[row,col](每行和每列出现该元组的次数)。最后再一个for每次从字典中取出一个值,如果都大于零就row * col加到count中,最后返回count。

时间:

空间:

设置了代码块自动换行。但是设置代码块自动换行后代码块前会自动多出两列,原因不明。修复方式:直接用css隐藏。

C#脚本代码块外框架,原因目前不明。

Unity脚本:三维数学。

2023-6-5

英语单词。

算法题。

逆向:while/do-while,浮点数。

2460. 对数组执行操作 - 力扣(LeetCode)

python3思路:双指针,对nums一个for获得rp,一个if,当rp+1<len且满足题意时执行题意。然后再一个if,如果rp指的值不是0,就和lp指的值进行交换,然后lp+=1,lp初始为0。lp主要用于记录上一个0的位置。代码基本同官解。

时间:

空间:

masm32:浮点数。

反汇编代码分析:while/do-while。

2023-6-4

英语单词。

算法题。

完成了网站魔改的记录。

网站更新至V1.0,推送至github中。

2465. 不同的平均值数目 - 力扣(LeetCode)

python3思路:排序+字典。先排序,然后首尾开始找,判断和是否在字典中,不在则结果加一并把值存入字典。

时间:

空间:

V1.0修复的网站问题如下:

  1. 文章的链接和图片错误
  2. 配置了mathjax显示数学公式
  3. 修复了页脚时钟和回到顶端百分比的错误

2023-6-3

英语单词。

算法题。

配置了网站相关属性。

进行了网站魔改的记录。

1156. 单字符重复子串的最大长度 - 力扣(LeetCode)

思路是双指针,但是没指出来,学习评论区。

python3思路:双指针。先统计每个字符出现的个数存在dic中。然后while遍历,找到两个相邻仅一个不同字符的相同字符子串,左右子串长度分别为l和r,求出res = max(res, min(l + r + 1, dic[c]))为最大值,然后左指针指向第一个不同字符继续遍历。

今天新增的拓展如下:

  1. 图片配置。
  2. 滚动条属性设置。
  3. 使用控制台提示。
  4. 复制提示框。
  5. 按键防抖。

新增网站魔改记录。

2023-6-2

英语单词。

力扣题。

逆向:for、i++和++i。

2559. 统计范围内的元音字符串数 - 力扣(LeetCode)

python3思路:直接两个for,超时。用前缀和,先for一次words,创建一个列表,每个元素存前idx个words满足条件的个数。然后再对queries做一个for,每次取出一个query。因为题目说包含l和r两个值,所以还要做个判断,如果query[0]是0直接返回在前缀和中找索引为query[1]的值,否则用前缀和中query[1]的值减去query[0]-1的值。返回结果列表。

时间:

空间:

n是words的长度,m是queries的长度。

反汇编代码分析:for、i++和++i。

2023-6-1

英语单词。

区块链:哈希列表程序。

Web开发:管理系统的登录页面前端程序。

Web渗透:复习了一遍书。

2517. 礼盒的最大甜蜜度 - 力扣(LeetCode)

不会。看答案大概懂了。

python3:二分。先排序,然后选中间值为甜蜜度。然后遍历数组,前一元素设为price[0],然后用后面的减前面的,如果大于等于甜蜜度,更新前一元素为当前元素,总数加一。遍历完成后如果选择元素个数大于等于k则满足条件,更新下界找更大甜蜜度,否则修改上界找更小甜蜜度,最后返回最大甜蜜度。

2023-5

2023-5-31

英语单词。

算法题。

逆向:switch-case分析。

Web渗透:简单复习。

Unity:点乘。

1130. 叶值的最小代价生成树 - 力扣(LeetCode)

python3思路:贪心算法。写一个while,每次找到乘积最小的两个数,将乘积加到结果中去,然后移除小的那个数,大的那个数留下来当做叶节点乘积。直到数组长度小于2结束。注:最后移除要写arr.pop(idx)不能写arr.remove(arr[idx]),因为这样有重复数字的话它会找到第一个满足条件的数,这个数可能不是需要移除的数。

时间:

反汇编代码分析:switch-case。

Unity:三维数学的Mathf。

2023-5-30

英语单词。

算法题。

随便写了个获取图片链接图片程序。

逆向:if-else分析。

Unity:角度弧度。

1110. 删点成林

写不出,学习了灵茶山艾府的答案。

python3思路:深度优先。先设置结果列表和把to_delete做成集合节约时间复杂度。然后dfs(root),如果有结果表示根没有被移除,把根加到结果中,然后dfs。先判断当前节点是否为空,是就返回None,不是就左右dfs,结果直接替换掉当前结点的左右子树。然后判断当前点值是否在to_delete中。不在就返回node,在的话就判断当前结点左右子树是否为空,不为则表示是结果,加到结果列表中,最后再返回None。


学习灵茶山艾府教学视频:77. 组合

python3:深度优先,组合型递归。枚举下一个要选的值存入数组中。当数组长度满足题目要求后存入结果中。可以剪枝,每次递归时判断还需要的数的数量,然后后面递归的for的结束值减去这个数量就完成了剪枝。

反汇编代码分析:if-else。

Unity:三维数学的Mathf。

2023-5-29

英语单词,听力,阅读练习。

算法题。

逆向:堆栈平衡和调用约定。

Unity:三维向量入门。

2455. 可被三整除的偶数的平均值

解题思路:遍历取6的余数。

python3整活一行:return 0 if (k:=[i for i in nums if i % 6 == 0]) == [] else int(sum(k) / len(k))

反汇编代码分析:堆栈平衡和调用约定。

Unity:三维数学的Vector3。

2023-5-28

英语单词。听力,阅读练习。高数不定积分。

算法题,CTF题。

逆向:一些汇编指令。

Unity使用:InputManage使用。

存疑:网站数学公式有时会无法渲染。

eye candy:有魅力但不聪明的人。

1439. 有序矩阵中的第 k 个最小数组和 - 力扣(LeetCode)

不会,学习了灵茶山艾府的答案。

python3思路:暴力。先获得前mat的第一行,切割到第k个,然后以此遍历后面的行与前面的做排列相加,相加结果从小到大排序后截取k个即可,因为不会用到k后面的数,最后返回相加结果的最后一个即第k个。

时间:

空间:

T2.攻防世界——Web——题目名称-文件包含

之前见过类似的。简单来说就是使用php伪协议,然后发现他过滤了base64和read,于是用如下payload:?filename=php://filter/convert.iconv.<input-encoding>.<output-encoding>/resource=flag.php。之后打开bp对中间的编码参数进行爆破测试,最后得出结果。

注:中间参数<input-encoding><output-encoding>之间的点不能换成 ‘/‘,否则会无任何返回结果。

Unity使用:InputManage使用。

2023-5-27

英语单词。听力练习。

算法题,CTF题。

学习了逆向工具OD的函数分析。

复习了PHP的PDO的使用。

1093. 大样本统计 - 力扣(LeetCode)

python3解题思路:先设置一些变量,记录最大值,最小值,总个数,众数值和索引,总和。最小值设为-1。然后做一个for。每次都记录总和和总个数,然后判断最小值是否为-1,是就更新。最大值直接等于当前索引即可。众数则判断当前count是否大于众数值,大于就更新众数值和索引。最后再用一个for来判断中位数。先判断奇偶并获得总个数的一半,奇数还需要取int后+1。然后如果总个数的一半减当前count值大于0就依次减去当前count的值。否则就判断,奇数的话只要小于等于0,mid都等于当前索引,而偶数不同。偶数如果小于才等于当前索引,等于0的话还需要找到下一个数,然后两者相加除以2。

T1.攻防世界——Reverse——easyRE1

我的解法:拖进010Editor直接找flag

其他解法:

  1. kali:strings easy-64 | grep FLAG
  2. windows:findstr /i flag easy-32/i忽略大小写,使用前先 chcp 65001
  3. ida:拖进去按F5


T2.攻防世界——Reverse——1000Click

我的解法:连点器点1000次

正常解法:

  1. CE:首次扫描int,0。然后点一次,然后该值为1,再次扫描,找到地址,改为999,再点击一次。
  2. OD:插件中文搜索引擎的智能搜索,然后搜Error!!(只搜error会找到别的地方),然后可以看到flag了。
  3. ida:等待加载完成,ctrl+F找到Error,点击后可以看到success,对它按x,然后跳转,在附近可以直接看到flag。

新增反汇编代码分析文章。

更新了汇编工具的OD相关使用。

更新了PHP的PDO的使用。

2023-5-26

修改了网站的简介栏。

2023-5-25

算法题。

逆向工具。

2451. 差值数组不同的字符串 - 力扣(LeetCode)

python3解题思路:直接按题意写,找到数组值存入字典中,字典键为不同整形数组元组,值为出现次数和索引的列表,判断该值是否已经存在字典中且字典长度为2。因为题目一定有解。所以如果满足条件就直接跳出循环,然后找到字典中出现次数为1的那个索引值,返回索引值对应的字符串。

OD更新基础用法。

2023-5-24

英语单词。

算法题。

修复网站。

题目:1377. T 秒后青蛙的位置 - 力扣(LeetCode)

python3题解思路:先构造领接表,然后进行搜索,搜索跳出条件是时间为0或没有下一节点,如果跳出时访问的位置就是目标,则返回1,否则返回0。然后进行搜索,用dfs和bfs都行。因为不可以重复访问节点,所以每次访问要把访问过的节点设为已访问再访问。访问下一节点时时间要减1。最后接收访问的结果,如果返回结果大于0表示找到目标,用返回结果除以父节点的子节点个数表示概率,依次把结果向上返回得到最终结果。

修复了runtime.js(页脚时钟)和readPercent.js(回到顶端百分比)的显示BUG

readPercent.js:原因未知。修复方式是将>=95改成<=95,然后将代码块对换。

runtime.js:错误原因是会自动在尾部加一些</>标签。修复方式是修改了提示语句中的代码并在尾部加上 //以防再次出现BUG。

2023-5-23

更新了网站文章结构。

更新了所有文章的路径,内容结构等。

将显示错误的列表和数学公式修复了。

配置了mathjax

2023-5-22

简单更新了一些网站配置。

2023-5-21

V0.9版本制作完成。完成了网站的基础部署,文档部署等。

配置参考教程:author::博客魔改教程总结(一) | Fomalhaut🥝

V0.9配置的网站的拓展如下:

  1. 文章双栏显示
  2. 文章出场动画
  3. 评论信箱
  4. wowjs动画
  5. 页脚计时器和其他信息
  6. 首页轮播栏
  7. 分类栏
  8. md外挂标签
  9. 搜索栏
  10. 回到顶部百分比
  11. 来到底部

V0.9配置的网站样式如下:

  1. 主题色
  2. 图片
  3. 一图流背景
  4. 字体
  5. 雪花分割线
  6. 底部选择栏居中
  7. 顶部菜单栏
  8. 夜间霓虹灯
  9. 宇宙星空
  10. 个人卡片渐变色
  11. 页面样式整体更改
  12. 顶栏常驻