- 博客(7)
- 收藏
- 关注
原创 BUUCTF Crypto 解题记录:Unencode
大小写转换:所有大写字母转为小写(除答案中需要保留的大写部分)。键盘偏移表示向上一行或向左偏移,数字为偏移量。列索引从 1 开始(如中排 A=1,S=2,D=3,…)。特殊符号映射等符号忽略或转换为数字(如→7对应KL(键盘右侧符号键)。
2025-05-23 10:48:14
394
原创 BUUCTF Crypto 解题记录:MD5
由于无法直接推测盐值或哈希次数,需结合题目提示进一步分析。)直接查询题目给出的 34 位字符串,结果显示。MD5 对相同明文始终生成相同哈希,但可能存在。:与题目中前 32 位完全一致。
2025-05-19 16:39:33
817
原创 快速排序算法
这段 Python 代码简洁而清晰地展现了快速排序算法的核心逻辑,借助 Python 的语法特性,如列表推导式,让代码实现起来事半功倍。尽管它还存在些许可优化之处,但还是可以让我们理解快速排序算法。
2024-12-05 15:26:03
454
原创 算法学习3-顺序存储结构表示的线性表
这段 C 语言代码主要实现了对两个采用动态分配顺序存储结构的线性表进行合并的功能,同时还具备初始化线性表、向线性表中插入元素以及遍历输出线性表元素的操作。首先创建两个线性表La和Lb,并通过用户输入分别向它们插入若干元素。接着调用合并函数MergeList将Lb的元素合并到La中(这里的合并规则后续会详细介绍)。最后分别遍历输出合并前后的线性表元素,方便查看合并操作的结果。
2024-12-04 08:22:27
604
原创 算法学习2-合并两个有序数组并求中位数
要求将它们合并成一个新的有序数组,并找出合并后数组的中位数。中位数的定义是:如果数组的长度是奇数,则中位数是排序后数组的中间元素;在算法领域,处理有序数组的合并以及求中位数是一个经典且常见的问题。右边最小值,满足则按总元素奇偶性计算中位数,奇数时为两左边最大值较大者,偶数时为两左边最大值较大者与两右边最小值较小者平均值,不满足则依大小关系调整。代码中除了定义了一些变量来辅助计算外,没有使用额外的数据结构来存储大量数据,所以空间复杂度为 O(1),仅与输入数组的规模无关的常数级空间。继续循环查找合适划分。
2024-12-03 21:43:08
540
1
原创 算法学习1—活动安排问题
在日常生活和项目管理中,常常会遇到活动安排的问题,即在给定的时间范围内和一系列活动的时间要求下,如何安排最多数量的相容活动。我们的目标是在场地的开放时间内安排尽可能多的活动,且这些活动的时间不能相互冲突,即一个活动结束之后另一个活动才能开始。这样,经过排序后,活动数组中的活动顺序就是按照结束时间升序排列的。如果满足这个条件,说明该活动与已安排的活动不冲突,可以安排这个活动。函数对活动进行排序。然后遍历排序后的活动数组,对于每个活动,检查其开始时间。如果不满足条件,则说明该活动与已安排的活动冲突,不能安排。
2024-12-03 13:12:20
670
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅