1052 Linked List Sorting (巨坑题)

题意:以address,val,next_address的形式给定一个链表,同时给定头节点的address,求将该链表排序后的形式。

pat拿分简单,但是拿要高分确实难。。

坑点一:有的结点不在该链表上,需要遍历一遍链表排除掉。(可以用哈希表存储链表)

坑点二:没想到吧,给定的链表还可能为空!这种情况下,我们只需要输出0与头结点就行了。

#include<bits/stdc++.h>
using namespace std;
struct node{string address;int val;string next;
};
int main(){vector<node>res;map<string,node>mp;int n;cin>>n;string head;cin>>head;for(int i=0;i<n;i++){string nod,next;int val;cin>>nod>>val>>next;mp[nod]={nod,val,next};}while(mp.count(head)){res.push_back({head,mp[head].val});head=mp[head].next;}sort(res.begin(),res.end(),[](auto&a,auto&b){return a.val<b.val;});if(res.size()==0){cout<<0<<' '<<head;return 0;// cout<<0;return 0;}n=res.size();for(int i=0;i<n-1;i++){res[i].next=res[i+1].address;}res[n-1].next="-1";cout<<n<<' '<<res[0].address<<endl;for(int i=0;i<n;i++){cout<<res[i].address<<' '<<res[i].val<<' '<<res[i].next<<endl;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/178075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20.什么是bean装配?

什么是bean装配&#xff1f; 装配&#xff0c;或bean 装配是指在Spring 容器中把bean组装到一起&#xff0c;前提是容器需要知道bean的依赖关系&#xff0c;如何通过依赖注入来把它们装配到一起。 额外扩展 Bean中主要包含三种装配方式&#xff0c;分别为 基于XML的装配基于…

PTA: 螺旋矩阵

题目 所谓“螺旋矩阵”&#xff0c;是指对任意给定的N&#xff0c;将1到NN的数字从左上角第1个格子开始&#xff0c;按顺时针螺旋方向顺序填入NN的方阵里。本题要求构造这样的螺旋方阵。 格式 输入格式: 输入在一行中给出一个正整数N&#xff08;<10&#xff09;。 输出…

【C语言加油站】函数栈帧的创建与销毁 #保姆级讲解

函数栈帧的创建与销毁 导言一、计算机硬件1.冯•诺依曼机基本思想2.冯•诺依曼机的特点&#xff1a;3.存储器3.1 分类3.2 内存的工作方式3.3 内存的组成 4.寄存器4.1 基本含义4.2 寄存器的功能4.3 工作原理4.4 分类4.4.1 通用寄存器组AX(AH、AL)&#xff1a;累加器BX(BH、BL)&a…

Git——Git应用入门

将会介绍以下知识&#xff1a; 搭建Git环境和创建Git版本库&#xff08;init、clone&#xff09;。文件添加、状态检查、创建注释和查看历史记录。与其他Git版本库交互&#xff08;pull、push&#xff09;。解决合并冲突。创建分支列表、列表切换和合并。创建标签。 1、版本控…

AI技术如何助力实现智慧交通

人工智能的常见优势在于能够实时、高效地分析处理大量的数据&#xff0c;并结合算法模型提供个性化、专业化的服务。在智慧交通方面&#xff0c;人工智能同样可以发挥专长&#xff0c;助力打造智能高效的交通运输网络&#xff0c;本篇就为大家简单介绍一下AI技术如何促进智慧交…

Linux基本命令二

Linux基本命令二 1、head 命令 head ​ **作用&#xff1a;**用于查看文件的开头部分的内容&#xff0c;有一个常用的参数 -n 用于显示行数&#xff0c;默认为 10&#xff0c;即显示 10 行的内容 ​ **语法&#xff1a;**head [参数] [文件] ​ 命令参数&#xff1a; 参数…

Java核心知识点整理大全20-笔记

目录 17. 设计模式 17.1.1. 设计原则 17.1.24. 解释器模式 18. 负载均衡 18.1.1.1. 四层负载均衡&#xff08;目标地址和端口交换&#xff09; 18.1.1.2. 七层负载均衡&#xff08;内容交换&#xff09; 18.1.2. 负载均衡算法/策略 18.1.2.1. 轮循均衡&#xff08;Roun…

js 循环哪种更快 for for..in.. forEach等

了解哪一种 for 循环或迭代器适合我们的需求&#xff0c;防止我们犯下一些影响应用性能的低级错误。 由 Artem Sapegin 上传至 Unsplash JavaScript 是 Web 开发领域的“常青树”。无论是 JavaScript 框架&#xff08;如 Node.js、React、Angular、Vue 等&#xff09;&#x…

数字人对本地生活商家的影响和应用

数字人的出现为本地生活商家带来了全新的机遇和挑战。让我们来了解一下什么是AI数字人是利用人工智能技术实现与真人直播形象的1:1克隆&#xff0c;即克隆出一个数字化的你自己&#xff0c;包括你的形象、表情、动作和声音都会被克隆下来&#xff0c;让你能够拥有接近真人的表现…

Java王者荣耀小游戏

Background类 package LX;import java.awt.*; //背景类 public class Background extends GameObject{public Background(GameFrame gameFrame) {super(gameFrame);}Image bg Toolkit.getDefaultToolkit().getImage("C:\\Users\\ASUS\\Desktop\\王者荣耀图片\\Map.jpg&…

postgis导致docker卡顿

fsync 强制把数据同步更新到磁盘,如果系统的IO压力很大&#xff0c;把改参数改为off 在fsync打开的情况下&#xff0c;优化后性能能够提升30%左右。因为有部分优化选项在默认的SQL测试语句中没有体现出它的优势&#xff0c;如果到实际测试中&#xff0c;提升应该不止30%。 测…

入侵redis之准备---Centos7上面部署redis

入侵redis之准备—Centos7上面部署redis 编写这个部署redis&#xff0c;只是为了另一个文章入侵redis做准备&#xff0c;网上还有好多类似的文章&#xff0c;这个单纯的就是部署安装&#xff0c;并简单的测试使用以下 关联其他文章 [1]VMware上面安装部署centos7镜像系统【详细…

地大与明道云的实践:零代码产教融合与协同育人

摘要 中国地质大学&#xff08;武汉&#xff09;与明道云合作&#xff0c;通过建设数字学院的方式&#xff0c;塑造教育数字化新动能。具体实践包括&#xff1a; 联合建设数字学院&#xff1a;选择经济管理学院作为试点&#xff0c;通过统筹规划、统一标准、分步实施的方式&a…

今日 LeetCode热题100--c++代码附思路

目录 1.最长连续序列 题目描述​编辑 通过代码 2.移动零 题目描述 通过代码 3.盛最多水的容器 题目描述 通过代码 1.最长连续序列 题目描述 通过代码 class Solution { public:int longestConsecutive(vector<int>& nums) {//排序&#xff0c;相同字母跳过…

2023年企业需要申请哪些管理体系证书!?

企业常用的管理体系认证包含ISO9001质量管理体系认证、SA8000社会责任管理体系认证、ISO14001环境质量管理体系认证、ISO45001职业健康安全管理体系认证、GB/T29490-2013知识产权管理体系认证等等。其主要作用为寻找第三方认证机构对企业的管理进行监督&#xff0c;帮助企业提升…

hive 命令记录(随时更新)

1.进入 hive 数据库&#xff1a; hive 2.查看hive中的所有数据库&#xff1a; show databases; 3.用 default 数据库 use default; 4.查看所有的表 show tables; 5.查询 book 表结构&#xff1a; desc book ; 6.查询 book 表数据 select * from book; 7.创建 shop 数据库 creat…

kafka如何保证消息不丢失 不重复消费 消息的顺序

如何保证消息的不丢失 消息为什么会丢失 想要保证消息不丢失就要首先知道消息为什么会丢失,在哪个环节会丢失,然后在丢失的环节做处理 1.生产者生产消息发送到broker,broker收到消息后会给生产者发送一个ack指令.生产者接收到broker发送成功的指令,这个时候我们就可以认为消息…

SpringBoot中如何优雅地使用重试

1 缘起 项目中使用了第三方的服务&#xff0c; 第三方服务偶尔会出现不稳定、连接不上的情况&#xff0c; 于是&#xff0c;在调用时为了保证服务的相对高可用&#xff0c;添加了超时连接重试&#xff0c; 当连接第三方服务超时时&#xff0c;多重试几次&#xff0c;比如3次&a…

GPTS-生成一个动漫图像GPT

介绍 GPTs是ChatGPT的定制版本,用户可以通过组合指令、知识和功能来定制用于特定任务或主题的GPT。它们可以根据需要简单或复杂,解决从语言学习到技术支持等各种事情。 创建GPTs Plus和Enterprise用户可以在chat.openai.com/create上开始创建GPTs。 您可以通过在ChatGPT上的…

「有问必答」秒杀系统 Go并发编程实践!

有问必答 摘要 本文将介绍如何使用Go语言的并发原语来构建一个简单的高并发秒杀系统。 我们将使用Go语言的原生库和一些常见的技术手段&#xff0c;包括互斥锁、通道、计数器等&#xff0c;来解决并发访问和数据一致性的问题。 本文只是一个简单的示例&#xff0c;重点是Go语…