世界很暗,但是你来了
关于链表的若干问题 关于链表的若干问题
节选自:https://leetcode.cn/studyplan/top-100-liked/ 链表反转初始化 pre、cur 分别指向 null 和头节点。 class Solution { public ListN
2023-11-13
LeetCode刷题记录 LeetCode刷题记录
双指针盛最多水的容器给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器
2023-10-25
算法6:贪心 算法6:贪心
一、区间问题1.1 例1:区间选点给定 $N$ 个闭区间 $[a_i,b_i]$,请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点,输出选择的点的最小数量。 注:位于区间端点上的点也算作区间内。 算法步骤: 将每个区间按右端
2022-10-15
机试算法刷题记录 机试算法刷题记录
1.[类动规划分]截断数组给定一个长度为 $n$ 的数组 $a_1,a_2,…,a_n$。现在,要将该数组从中间截断,得到三个非空子数组。 要求,三个子数组内各元素之和都相等。请问,共有多少种不同的截断方法? 因为要把数组均分三份,总和一
2022-09-21
CSP考试刷题记录 CSP考试刷题记录
第0次第4题 有趣的数有趣的数满足以下三个条件: 它的数字只包含 0,1,2,3,且这四个数字都出现过至少一次。 所有的 0 都出现在所有的 1 之前,而所有的 2 都出现在所有的 3 之前。 最高位数字不为 0。 本题为组合计数问题,
2022-09-21
算法5:动态规划 算法5:动态规划
一、背包问题 0/1背包:每类物品最多只能装一次 完全背包:物品无限量 多重背包:每类物品有个数限制,第 $i$ 类物品有 $num[i]$ 个 分组背包:每组物品有若干个,同一组内的物品最多只能选一个 1.1 0/1
2022-09-01
算法4:数学知识 算法4:数学知识
一、质数与约数在大于 $1$ 的整数中,如果只包含 $1$ 和本身这两个约数,就被称为质数/素数。 1.1 质数的判定试除法判定质数: 有性质:若 d|n,则 n/d|n。 bool is_prime(int x) {
2022-08-13
算法3:搜索与图论 算法3:搜索与图论
一、DFS和BFS 数据结构 空间 备注 DFS stack $O(h)$(树的高度相关,记录路径) 算法思路奇怪或对空间要求较高 BFS queue $O(2^h)$(树的层相关,记录一层) 具有最短路径的性质,用于最小步
2022-08-13
算法2:数据结构 算法2:数据结构
一、链表这里讲解的是用数组模拟链表的实现。 1.1 单链表应用在使用邻接表来存储的场景中,如树和图的存储。 在图的存储中,head将相应变为h[]数组,h[]数组存储每个链表(节点)的链表头。 // head存储链表头,e[]存储节点
2022-08-13
算法1:基础算法 算法1:基础算法
一、排序算法1.1 快速排序 确定分界点x:$q[1]$、$q[(1+r)/2]$、$q[r]$、随机 调整区间:保证所有小于等于 $x$ 的数在 $x$ 的左区间,大于等于 $x$ 的数在 $x$ 的右区间 递归处理左右两段
2022-08-13