当前位置: 首页 > news >正文

国外免费虚拟主机seo快速排名多少钱

国外免费虚拟主机,seo快速排名多少钱,虚拟主机搭建wordpress,建设电子商务平台网站Every day a Leetcode 题目来源:1410. HTML 实体解析器 解法1:模拟 遍历字符串 text,每次遇到 ’&‘,就判断以下情况: 双引号:字符实体为 " ,对应的字符是 " 。单引号&a…

Every day a Leetcode

题目来源:1410. HTML 实体解析器

解法1:模拟

遍历字符串 text,每次遇到 ’&‘,就判断以下情况:

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

如果是上述情况,将转换结果插入结果;如果都不是,则直接添加到结果里。

代码:

/** @lc app=leetcode.cn id=1410 lang=cpp** [1410] HTML 实体解析器*/// @lc code=start
class Solution
{
public:string entityParser(string text){string result;int i = 0;while (i < text.size()){if (text[i] == '&'){if (text.substr(i, 4) == "&gt;"){result += '>';i += 4;}else if (text.substr(i, 4) == "&lt;"){result += '<';i += 4;}else if (text.substr(i, 5) == "&amp;"){result += '&';i += 5;}else if (text.substr(i, 6) == "&quot;"){result += '"';i += 6;}else if (text.substr(i, 6) == "&apos;"){result += '\'';i += 6;}else if (text.substr(i, 7) == "&frasl;"){result += '/';i += 7;}elseresult += text[i++];}elseresult += text[i++];}return result;}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n),其中 n 是字符串 text 的长度。

空间复杂度:O(1)。

解法2:模拟

本题要求把字符串中所有的「字符实体」替换成对应的字符。

「字符实体」都是由 & 开头的,所以我们只需要遍历一遍字符串,用一个变量 pos\textit{pos}pos 表示当前处理的位置,如果 text[pos]=‘&’,就在这个位置进行探测。假设一个「字符实体」为 e,对应的字符为 c,那么可以通过判断 pos 位置开始,长度和 e 相同的子串是否和 e 相等,如果相等就可以替换。

代码:

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;}
};

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(k×n),其中 n 是字符串 text 的长度。考虑最坏情况,每个位置都是 &,那么每个位置都要进行 6 次探测,探测的总时间代价和「实体字符」的总长度 k 相关,这里 k=6+6+5+4+4+7=32。

空间复杂度:O(k),这里用了 entityList 作为辅助变量,字符总数为 k+6,故渐进空间复杂度为 O(k+6)=O(k)。

http://www.sczhlp.com/news/26973/

相关文章:

  • 橙子建站是干啥的网络培训
  • DBA必备脚本:Oracle获取正在运行SQL的字面SQL文本
  • 关闭谷歌浏览器自动更新、并恢复插件使用
  • 网站的建设框架信息如何优化上百度首页公司
  • 企业网站备案要求百度推广新手入门
  • 网站建设意向表如皋网站制作
  • 海淀做网站好的公司短视频营销成功的案例
  • pc端微信端网站建设域名检测
  • wordpress音频在移动端播放不seo外链代发
  • 上海市闵行区北京网站优化方案
  • 【Flask 3.1.2】2 获取请求数据与返回json数据
  • 完整教程:week3-[分支结构]2023
  • 厦门网站建设价格域名查询网站信息
  • 研创网seo优化费用
  • wordpress 不要可视化开鲁网站seo免费版
  • 祥云平台做网站如何seo整站优化报价
  • 哈尔滨营销网站建设搜索引擎优化哪些方面
  • 怎么用百度网盘做网站搜索关键词排名推广
  • 网站都是用什么编写的龙岗网站设计
  • 关于书店电商网站建设的心得网络营销的好处和优势
  • 网站建设南宁百度点击优化
  • 昆明做公司网站厦门网站制作全程服务
  • 企业管理咨询是做什么的seo排名优化什么意思
  • 手机做任务的网站有哪些搜索引擎优化是做什么
  • 【Flask 3.1.2】2 获取请求数据
  • 网站建设招标流程图网站制作公司哪家好
  • 江山网站建设提高百度搜索排名工具
  • 已认证网站服务费怎么做网络推广员是干什么的
  • 网站空间怎么买谷歌外贸网站
  • 老板让做公司网站设计百度贴吧官网入口