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

高端网站建设南宁淘宝联盟做返利网站

高端网站建设南宁,淘宝联盟做返利网站,提高网站互动性,打字网站怎么做1410. HTML 实体解析器 1410. HTML 实体解析器 代码仓库地址#xff1a; https://github.com/slience-me/Leetcode 个人博客 #xff1a;https://slienceme.xyz 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀#xff0c;返回空字符串 …1410. HTML 实体解析器 1410. HTML 实体解析器 代码仓库地址 https://github.com/slience-me/Leetcode 个人博客 https://slienceme.xyz 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀返回空字符串 。 「HTML 实体解析器」 是一种特殊的解析器它将 HTML 代码作为输入并用字符本身替换掉所有这些特殊的字符实体。 HTML 里这些特殊字符和它们对应的字符实体包括 双引号 字符实体为 对应的字符是 。单引号 字符实体为 对应的字符是 。与符号 字符实体为 对应对的字符是 。大于号 字符实体为 对应的字符是 。小于号 字符实体为 对应的字符是 。斜线号 字符实体为 ⁄ 对应的字符是 / 。 给你输入字符串 text 请你实现一个 HTML 实体解析器返回解析器解析后的结果。 示例 1 输入text amp; is an HTML entity but ambassador; is not. 输出 is an HTML entity but ambassador; is not. 解释解析器把字符实体 amp; 用 替换示例 2 输入text and I quote: quot;...quot; 输出and I quote: \...\示例 3 输入text Stay home! Practice on Leetcode :) 输出Stay home! Practice on Leetcode :)示例 4 输入text x gt; y amp;amp; x lt; y is always false 输出x y x y is always false示例 5 输入text leetcode.comfrasl;problemsetfrasl;all 输出leetcode.com/problemset/all提示 1 text.length 10^5字符串可能包含 256 个ASCII 字符中的任意字符。 方案1暴力解 第一种纯暴力解遍历替换 class Solution { public:string entityParser(string text) {unordered_mapstring, string myMap {{quot;, \},{apos;, \},{amp;, },{gt;, },{lt;, },{frasl;, /}};for (const auto map: myMap){string searchString map.first;string replacementString map.second;size_t pos text.find(searchString); // 找到第一个匹配的位置// 循环替换所有匹配的内容while (pos ! string::npos) {text.replace(pos, searchString.length(), replacementString); // 用替换字符串替换匹配字符串pos text.find(searchString, pos replacementString.length()); // 继续找下一个匹配的位置}}return text;} };执行用时分布 744ms 击败11.76%使用 C 的用户 消耗内存分布16.37MB 击败90.20%使用 C 的用户 方案2 发现没有优化太多反而超时了 class Solution { public:string entityParser(string text) {unordered_mapstring, string myMap {{quot;, \},{apos;, \},{amp;, },{gt;, },{lt;, },{frasl;, /}};for (int i 0; i text.length(); i){string temp;if (text[i]){if (text[i1]\0 || text[i1]){continue;}int indexj i1;while (text[indexj]!;){if (indexjtext.length()){break;}temp text[indexj];indexj1;}if (indexjtext.length()){break;}temp ;;size_t index replaceStr(text, myMap, temp);if (index ! -1){i index;}} else if(text[i]\0){continue;}}return text;}size_t replaceStr(string text, unordered_mapstring, string myMap, const string temp) const {if(myMap.find(temp) ! myMap.end()){string searchString myMap.find(temp)-first;string replacementString myMap.find(temp)-second;size_t pos text.find(searchString); // 找到第一个匹配的位置// 循环替换所有匹配的内容text.replace(pos, searchString.length(), replacementString); // 用替换字符串替换匹配字符串return posreplacementString.length()-1;}return -1;} };超出时间限制 测试用例通过了但耗时太长。 方案3 最后的优化 class Solution { public:string entityParser(string text) {string result ;int i 0;int n text.length();while (i n) {if (text[i] ) {if (text.substr(i, 6) quot;) {result \;i 6;} else if (text.substr(i, 6) apos;) {result ;i 6;} else if (text.substr(i, 5) amp;) {result ;i 5;} else if (text.substr(i, 4) gt;) {result ;i 4;} else if (text.substr(i, 4) lt;) {result ;i 4;} else if (text.substr(i, 7) frasl;) {result /;i 7;} else {result text[i];i;}} else {result text[i];i;}}return result;} };执行用时分布 68ms 击败80.39%使用 C 的用户 消耗内存分布 18.54MB 击败35.29%使用 C 的用户
http://www.pierceye.com/news/97927/

相关文章:

  • 网站蜘蛛怎么看wordpress多用户商城主题
  • 拨付网站建设经费的请示wordpress+电商版本
  • 深圳网站制作需要多少钱互动营销网站
  • 营销型网站公司名称烟台网站建设专业臻动传媒
  • 哪个网站可以做结婚证企业黄页官网
  • 进网站备案大学生网页设计心得体会
  • 做网站除了广告还有什么收入的短视频营销的发展趋势
  • 企顺网网站建设娜娜视频免费视频在线
  • 如何做英文网站wordpress 247
  • 玄武模板网站制作点击查看视联网视频会议系统
  • 域名购买之后怎么做网站网站二级页面设计要求
  • 一个好的网站怎样布局安康市网站建设
  • 上海企业网站优化多少钱湛江网站建设方案托管
  • 手机网站可以做英文版本吗怎么自己购买域名 建设网站
  • 茂港手机网站建设公司如何将音乐上传到wordpress
  • 做房地产网站wordpress 文章页面模板
  • 深圳做app网站建设网站申请支付宝支付
  • 巴音郭楞库尔勒网站建设知名企业门户网站建设
  • 免费域名申请哪个网站好去除wordpress 广告插件
  • 塘厦做网站定制和订制有什么区别
  • 昆明网站空间好习惯网站
  • 做导航网站赚钱吗建立网站需要多少钱费用
  • 大同网站建设哪家好网站后台登录模板html
  • 网站建设过程中准备的工作手机制作网站
  • 做专业网站设计多少钱代理小企业网站建设
  • 怎样提升网站关键词免费的html模版下载
  • 栖霞网站定制三合一建站网站
  • 免费建立一个个人网站设计官网登录入口
  • 门户网站模板之家北京网上服务平台
  • 合肥网站优化方案东莞做网站那家好