链表
Demoo.
来记录不会的题啦
展开
-
stack(hdu)
刚开始初始化的时候每个栈的栈顶和栈底都是i本身,然后num都是1,f初始化为0,每个数没有与他相连的数,所以前面后面都是0。题意:有n个栈,第i个栈刚开始只放了i,有m个操作,每次把ai放到bi里,求最后每个栈里元素的个数和元素。s数组用来存一个数的前面相连的数或者后面的数(因为堆的话一个数只能连两个数)然后a的栈顶x就会连上b的栈顶z,判断一下x有没有与他相连的数。我们分别用xyzq来记录a的栈顶和栈底,b的栈顶和栈底。a的num要加到b的num里去,a的num变成0。sta数组用来记录栈顶和栈底元素。原创 2022-09-18 09:58:13 · 175 阅读 · 0 评论 -
逆散列问题
给定长度为 N 的散列表,处理整数最常用的散列映射是 H(x)=x%N。如果我们决定用线性探测解决冲突问题,则给定一个顺序输入的整数序列后,我们可以很容易得到这些整数在散列表中的分布。例如我们将 1、2、3 顺序插入长度为 3 的散列表HT[]后,将得到HT[0]=3,HT[1]=1,HT[2]=2的结果。 但是现在要求解决的是“逆散列问题”,即给定整数在散列表中的分布,问这些整数是按什么顺序插入的? 输入格式: 输入的第一行是正整数 N(≤1000),为散列表的长度。第二行给出了 N 个整数,其间用原创 2022-04-22 18:11:52 · 734 阅读 · 0 评论 -
链表去重 。
给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。 输入格式: 输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤105,为结点总数)。一个结点的地址是非负的 5 位整数,空地址 NULL 用 −1 来表示。 随后 N 行,每行按以下格式描述一个原创 2022-04-15 00:25:02 · 1738 阅读 · 0 评论