[pta]L2-002 链表去重
L2-002 链表去重分数 25作者 陈越单位 浙江大学给定一个带整数键值的链表 L你需要把其中绝对值重复的键值结点删掉。即对每个键值 K只有第一个绝对值等于 K 的结点被保留。同时所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15你需要输出去重后的链表 21→-15→-7还有被删除的链表 -15→15。输入格式输入在第一行给出 L 的第一个结点的地址和一个正整数 N≤105为结点总数。一个结点的地址是非负的 5 位整数空地址 NULL 用 −1 来表示。随后 N 行每行按以下格式描述一个结点地址 键值 下一个结点其中地址是该结点的地址键值是绝对值不超过104的整数下一个结点是下个结点的地址。输出格式首先输出去重后的链表然后输出被删除的链表。每个结点占一行按输入的格式输出。输入样例00100 5 99999 -7 87654 23854 -15 00000 87654 15 -1 00000 -15 99999 00100 21 23854输出样例00100 21 23854 23854 -15 99999 99999 -7 -1 00000 -15 87654 87654 15 -1我的想法我的想法很直接既然地址这东西是唯一的而且都是五位数直接先开两个数组key和nxt来存储链表的键值和下一个地址而这两个的数组的下标就用相应的当前的地址就行了然后开一个list来顺序整理当前的地址然后再开一个keep和dei一个顺序记录去重后的地址一个顺序记录键值重复的地址开一个vs数组来记录键值是否重复遍历list不是重复的就放进keep是重复的就放进del输出这一步比较关键把当前地址和键值看做一个整体一起输出至于下一个地址显然和下一行如果有的话的当前地址一致那么直接输出keep[i1]或者del[i1]就行了这样就不用考虑已修改原本存的下一个地址了代码如下#include bits/stdc.h using namespace std; const int N 1e5 10; int key[N], nxt[N], n, head; int main() { cin head n; for (int i 0; i n; i) { int add; cin add; cin key[add] nxt[add]; } vectorintlist; for (int p head; p ! -1; p nxt[p]) { list.push_back(p); } vectorintkeep, del; int vs[N] { 0 }; for (auto add : list) { int abskey abs(key[add]); if (!vs[abskey]) { keep.push_back(add); vs[abskey] 1; } else del.push_back(add); } for (int i 0; i keep.size(); i) { printf(%05d %d , keep[i], key[keep[i]]); if (i keep.size() - 1)printf(-1\n); else printf(%05d\n, keep[i 1]); } for (int i 0; i del.size(); i) { printf(%05d %d , del[i], key[del[i]]); if (i del.size() - 1)printf(-1\n); else printf(%05d\n, del[i 1]); } return 0; }

相关新闻

【Linux系统】进程间通信:基于匿名管道实现进程池

【Linux系统】进程间通信:基于匿名管道实现进程池

1. 进程池介绍 ​ 1.1 核心定义 进程池(Process Pool) 是一种预创建复用式的进程管理技术,其本质是操作系统中预分配的进程资源容器。它包含两大核心组件: 资源进程:池中预先创建的空闲进程,随时待命执…

2026/7/2 22:16:06 阅读更多 →
Java Web +乡政府管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

Java Web +乡政府管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 随着信息技术的快速发展,乡镇政府管理工作的信息化需求日益增长。传统的乡镇政府管理模式依赖纸质文档和人工操作,效率低下且容易出错,难以满足现代化管理的需求。特别是在乡村振兴战略背景下,乡镇政府需要更高效、透明和便…

2026/7/3 14:24:25 阅读更多 →
彻底告别 `$set`:从“数字化餐厅”看 Vue3 响应式的全感知进化

彻底告别 `$set`:从“数字化餐厅”看 Vue3 响应式的全感知进化

在前端面试的深水区,Vue3 的响应式系统是衡量一个开发者是否触及框架灵魂的试金石。很多人知道 Vue3 用了 Proxy 代替了 Object.defineProperty,但其背后的底层代差和调度艺术,远不止“支持数组”那么简单。 今天,我们把 Vue3 响…

2026/7/3 14:24:30 阅读更多 →

最新新闻

3步解决Navicat试用限制:macOS数据库开发者的终极方案

3步解决Navicat试用限制:macOS数据库开发者的终极方案

3步解决Navicat试用限制:macOS数据库开发者的终极方案 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 你是否也曾…

2026/7/4 19:33:32 阅读更多 →
蓝凌EIS平台SQL注入漏洞(CVE-2025-22214)深度剖析与实战复现

蓝凌EIS平台SQL注入漏洞(CVE-2025-22214)深度剖析与实战复现

1. 项目概述:一次针对企业协同平台的SQL注入漏洞深度剖析最近在安全圈里,蓝凌EIS智慧协同平台的一个SQL注入漏洞(CVE-2025-22214)引起了我的注意。这个漏洞出在fi_message_receiver.aspx这个接口上,攻击者甚至不需要登…

2026/7/4 19:33:32 阅读更多 →
使用DALL·E 3和Python自动生成AI配图PPT

使用DALL·E 3和Python自动生成AI配图PPT

1. 为什么需要自动生成带AI配图的PPT?在商业汇报、学术展示和日常工作中,PPT制作往往占据大量时间。传统流程需要经历内容整理、版式设计、图片搜索/制作等多个环节,尤其配图部分最耗时——要么花费数小时在免费图库中寻找合适素材&#xff0…

2026/7/4 19:31:32 阅读更多 →
面向钓鱼邮件研判的智能体 AI 流水线架构与工程实践研究

面向钓鱼邮件研判的智能体 AI 流水线架构与工程实践研究

摘要 全球钓鱼攻击总量持续高速增长,2025 年全年钓鱼攻击总量突破 380 万起,仅第二季度上报钓鱼邮件数量超 110 万封,海量可疑邮件上报给安全运营中心(SOC)带来巨大人工研判压力。传统单一大模型检测方案存在可解释性差…

2026/7/4 19:31:32 阅读更多 →
反潜航空深弹命中概率问题的数学建模与优化研究

反潜航空深弹命中概率问题的数学建模与优化研究

反潜航空深弹命中概率问题的数学建模与优化研究 副标题:基于随机过程理论与 Monte Carlo 模拟的航空深弹投弹策略最优设计 竞赛:2024年高教社杯全国大学生数学建模竞赛 D题 关键词:航空深弹 命中概率 截尾正态分布 Monte Carlo模拟 阵列优化 摘要:本文针对2024年全国大…

2026/7/4 19:31:32 阅读更多 →
PCB阻抗线设计与立创EDA专业版设置指南

PCB阻抗线设计与立创EDA专业版设置指南

1. 阻抗线基础概念与设计要点在PCB设计中,阻抗线是指具有特定特性阻抗的传输线,主要用于高频信号传输(如射频、高速数字信号)。阻抗匹配是确保信号完整性的关键因素,不匹配会导致信号反射、振铃和功率损耗。阻抗线的特…

2026/7/4 19:27:31 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻