2023-11-23 LeetCode每日一题(HTML 实体解析器)

news2024/9/23 11:16:26

2023-11-23每日一题

一、题目编号

1410. HTML 实体解析器

二、题目链接

点击跳转到题目位置

三、题目描述

「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。

HTML 里这些特殊字符和它们对应的字符实体包括:

  • **双引号:**字符实体为 " ,对应的字符是 " 。
  • **单引号:**字符实体为 ’ ,对应的字符是 ’ 。
  • **与符号:**字符实体为 & ,对应对的字符是 & 。
  • **大于号:**字符实体为 > ,对应的字符是 > 。
  • **小于号:**字符实体为 < ,对应的字符是 < 。
  • **斜线号:**字符实体为 ⁄ ,对应的字符是 / 。

给你输入字符串 text ,请你实现一个 HTML 实体解析器,返回解析器解析后的结果。

示例 1:
在这里插入图片描述

示例 2:
在这里插入图片描述

示例 3:
在这里插入图片描述

示例 4:
在这里插入图片描述

示例 5:
在这里插入图片描述

四、解题代码

class Solution {
public:
    using EntityChar = pair <string, char>;

    vector <EntityChar> entityList;

    string entityParser(string text) {
        entityList = vector({
            (EntityChar){"&quot;", '"'},
            (EntityChar){"&apos;", '\''},
            (EntityChar){"&amp;", '&'},
            (EntityChar){"&gt;", '>'},
            (EntityChar){"&lt;", '<'},
            (EntityChar){"&frasl;", '/'}
        });

        string r = "";
        for (int pos = 0; pos < text.size(); ) {
            bool isEntity = false;
            if (text[pos] == '&') {
                for (const auto &[e, c]: entityList) {
                    if (text.substr(pos, e.size()) == e) {
                        r.push_back(c);
                        pos += e.size();
                        isEntity = true;
                        break;
                    }
                }
            }
            if (!isEntity) {
                r.push_back(text[pos++]);
                continue;
            }
        }
        return r;
    }
};

五、解题思路

(1) 模拟即可。

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

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

相关文章

视频去水印软件有哪些?分享四款好用去水印软件

对于从事自媒体的朋友们来说&#xff0c;保护自己的视频作品免受盗用至关重要。为了标识归属&#xff0c;我们通常会在视频上添加水印。然而&#xff0c;当我们在寻找素材并打算进行剪辑时&#xff0c;发现素材上的水印会严重干扰使用。在这种情况下&#xff0c;我们需要采取一…

【Linux】who命令使用

who who命令用于显示系统中有哪些使用者正在上面&#xff0c;显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。 著者 由Joseph Arceneaux、David MacKenzie和Michael Stone撰写。 语法 who [选项] [文件|参数] who命…

第19章JAVA绘图

19.1JAVA绘图类 绘图是高级程序设计中非常重要的技术 19.1.1Graphics类 Graphics类是所有图形上下文的抽象基类&#xff0c;它允许应用程序在组件以及闭屏图片上进行绘制 Graphics类封装了JAVA支持的基本绘图操作所需的状态信息&#xff0c;主要包括颜色&#xff0c;字体&…

Doris-集群部署(四)

创建目录并拷贝编译后的文件 1&#xff09;创建目录并拷贝编译后的文件 mkdir /opt/module/apache-doris-0.15.0 cp -r /opt/software/apache-doris-0.15.0-incubating-src/output /opt/module/apache-doris-0.15.02&#xff09;修改可打开文件数&#xff08;每个节点&#x…

jenkins 参数构建

应用保存 [rootjenkins-node1 .ssh]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved i…

yolov3学习总结

目标检测算法 单阶段&#xff1a;不提取出候选框&#xff0c;直接将整个图像输入模型中&#xff0c;算法直接输出检测结果&#xff0c;端到端 yolo&#xff0c;ssd 端到端&#xff0c;输入图像到网络中&#xff0c;然后从网络中输出图像 二阶段&#xff1a;先从图像中提取出…

探讨工业元宇宙和数字孪生的关系

就在各类技术专家还在试图设想元宇宙虚拟世界将为企业和消费者带来什么时&#xff0c;工业元宇宙虚拟世界已经在改变人们设计、制造以及与各行业物理实体互动的方式。尽管元宇宙的定义比比皆是&#xff0c;工业元宇宙将如何发展还有待观察&#xff0c;但数字孪生越来越多地被视…

面试cast:reinterpret_cast/const_cast/static_cast/dynamic_cast

目录 1. cast 2. reinterpret_cast 3. const_cast 3.1 加上const的情况 3.2 去掉const的情况 4. static_cast 4.1 基本类型之间的转换 4.2 void指针转换为任意基本类型的指针 4.3 子类和父类之间的转换 5. dynamic_cast 5.1 RTTI(Run-time Type Identification) 1.…

SQLY优化

insert优化 1.批量插入 手动事务提交 主键顺序插入&#xff0c;主键顺序插入性能高于乱序插入 2.大批量插入数据 如果一次性需要插入大批量数据&#xff0c;使用Insert语句插入性能较低&#xff0c;此时可以使用MYSQL数据库提供的load指令进行插入 主键优化 主键设计原则 …

计算机基础知识57

前后端数据传输的编码格式(contentType) # 我们只研究post请求方式的编码格式&#xff1a; get请求方式没有编码格式-- index?useranme&password get请求方式没有请求体&#xff0c;参数直接在url地址的后面拼接着 # 有哪些方式可以提交post请求&#xff1a;f…

SAP GOS与DMS简介

通常在项目实施过程中很多业务数据需要管理对应的系统外的附件&#xff0c; 制造业的BOM需要对应图纸&#xff0c;采购订单需要对应线下的采购合同&#xff0c;物料需要对应相应的参数文件等等&#xff0c;很多产品都会遇到业务数据和系统外相关资料的关联&#xff0c;有PDF的文…

2002-2020年341个地级市农业保险收入数据

2002-2020年341个地级市农业保险收入数据 1、时间&#xff1a;2002-2020年 2、范围&#xff1a;341个地级市 3、指标&#xff1a;农业保险收入 4、来源&#xff1a;整理自wind、保险年鉴 5、指标解释&#xff1a; 农业保险保费收入是指保险公司从农户或农业生产经营者那里…

聊一聊Linux动态链接和GOT、PLT

共享动态库是现代系统的一个重要组成部分&#xff0c;大家肯定都不陌生&#xff0c;但是通常对背后的一些细节上的实现机制了解得不够深入。当然&#xff0c;网上有很多关于这方面的文章。希望这篇文章能够以一种与其他文章不同的角度呈现&#xff0c;可以对你产生一点启发。 …

@Scheduled注解 定时任务讲解

用于在Java Spring框架中定时执行特定任务的注解 Scheduled&#xff0c;它能够指定方法在特定时间间隔或特定时间点执行。默认参数是cron&#xff0c;cron参数被用来定义一个Cron表达式&#xff0c;它代表了任务执行的时间规则 参数如下 Cron 这是是一种时间表达式&#xff…

Python版本切换的解决方法,升级Python 2.7 到 Python 3.7

之前解决问题的时候&#xff0c;记录的一个Python版本切换的解决方法&#xff0c;今天在解决其他问题的时候&#xff0c;查看了下之前写的这个解决方法。还是很适用的。然后加入了下linux系统中python配置修改的问题。 Mac 升级Python 2.7 到 Python 3.7 1、python3.7官网下载…

【SpringBoot】 This application has no explicit mapping for 解决方法

This application has no explicit mapping for 解决方法 This application has no explicit mapping for 解决方法一、背景二、原因三、解决方案方式一&#xff1a;方式二&#xff1a; 四、解决 This application has no explicit mapping for 解决方法 一、背景 在SpringBo…

EXCEL小技巧

1、两列文本合并显示&#xff1a; CONCATENATE(B6,E6) &#xff08;如果显示公式而非文本&#xff0c;就是公式输错了&#xff0c;比如后缺少空格&#xff09;

Word中如何实现 图片 | 表格 自动编号与文中引用编号对应

当我们在进行大篇幅word文档的编写时&#xff0c;为了节约修改文章中图片或表格所花费的大量时间&#xff0c;可以将图片自动编号&#xff0c;且让文中引用的顺序跟着图片顺序的变化而变化&#xff0c;具体操作如下&#xff1a; 1. 将鼠标定位在图片或者表格欲加编号的下方或上…

ChatGPT有效开通方法*建议收藏*

ChatGPT Plus和API开通方法*建议收藏* 前期准备&#xff1a; 一个ChatGPT账户 一张虚拟卡 开通ChatGPT Plus会员&#xff0c;很多朋友担心虚拟卡订阅会封号&#xff0c;只要不勤换登陆IP不会使出现问题。而且目前大部分用户都是使用虚拟卡开通的会员 第一步&#xff1a;登…

基于STC12C5A60S2系列1T 8051单片读写掉电保存数据IIC总线器件24C02地址码并显示在液晶显示器LCD1602上应用

基于STC12C5A60S2系列1T 8051单片读写掉电保存数据IIC总线器件24C02地址码并显示在液晶显示器LCD1602上应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍液晶显示器…