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

微信抽奖小程序seo指的是

微信抽奖小程序,seo指的是,网站建设公司大全,厦门唯一官方网站以下为力扣官方题解,及本人代码 722. 删除注释 题目题意示例 1示例 2提示 官方题解模拟思路与算法复杂度 本人代码Java提交结果:通过 题目 题意 给一个 C C C 程序,删除程序中的注释。这个程序 s o u r c e source source 是一个数组&a…

以下为力扣官方题解,及本人代码

722. 删除注释

  • 题目
    • 题意
    • 示例 1
    • 示例 2
    • 提示
  • 官方题解
    • 模拟
      • 思路与算法
      • 复杂度
  • 本人代码
    • Java
    • 提交结果:通过

题目

题意

给一个 C + + C++ C++ 程序,删除程序中的注释。这个程序 s o u r c e source source 是一个数组,其中 s o u r c e [ i ] source[i] source[i] 表示第 i i i 行源码。 这表示每行源码由 \n 分隔。
C + + C++ C++ 中有两种注释风格,行内注释和块注释。

  • 字符串 / / // // 表示行注释,表示 / / // // 和其右侧的其余字符应该被忽略。
  • 字符串 / ∗ /* / 表示一个块注释,它表示直到下一个(非重叠)出现的 ∗ / */ / 之间的所有字符都应该被忽略。(阅读顺序为从左到右)非重叠是指,字符串 / ∗ / /*/ // 并没有结束块注释,因为注释的结尾与开头相重叠。
    第一个有效注释优先于其他注释。
  • 如果字符串 / / // // 出现在块注释中会被忽略。
  • 同样,如果字符串 / ∗ /* / 出现在行或块注释中也会被忽略。
    如果一行在删除注释之后变为空字符串,那么不要输出该行。即,答案列表中的每个字符串都是非空的。
    样例中没有控制字符,单引号或双引号字符。
  • 比如, s o u r c e = " s t r i n g s = " / ∗ N o t a c o m m e n t . ∗ / " ; " source = "string s = "/* Not a comment. */";" source="strings="/Notacomment./";" 不会出现在测试样例里。

此外,没有其他内容(如定义或宏)会干扰注释。
我们保证每一个块注释最终都会被闭合, 所以在行或块注释之外的 / ∗ /* / 总是开始新的注释。
最后,隐式换行符可以通过块注释删除。 有关详细信息,请参阅下面的示例。
从源代码中删除注释后,需要以相同的格式返回源代码。

示例 1

输入:source = [“/*Test program */”, “int main()”, "{ ", " // variable declaration “,
“int a, b, c;”, “/* This is a test”, " multiline “, " comment for “, " testing */”, “a = b + c;”, “}”]
输出:[“int main()”,”{ “,” “,“int a, b, c;”,“a = b + c;”,”}”]
解释:示例代码可以编排成这样:
/*Test program */
int main(){
// variable declaration
int a, b, c;
/* This is a test
multiline
comment for
testing */
a = b + c;
}
1 1 1 行和第 6 − 9 6-9 69 行的字符串 / ∗ /* / 表示块注释。第 4 4 4 行的字符串 / / // // 表示行注释。
编排后:
int main()
{
.
int a, b, c;
a = b + c;
}

示例 2

输入: source = [“a/*comment”, “line”, “more_comment*/b”]
输出: [“ab”]
解释: 原始的 s o u r c e source source 字符串是 “a/*comment\nline\nmore_comment*/b”,其中 \n 是换行符。删除注释后,隐含的换行符被删除,留下字符串 " a b " "ab" "ab" 用换行符分隔成数组时就是 [ " a b " ] ["ab"] ["ab"]

提示

  • 1 < = s o u r c e . l e n g t h < = 100 1 <= source.length <= 100 1<=source.length<=100
  • 0 < = s o u r c e [ i ] . l e n g t h < = 80 0 <= source[i].length <= 80 0<=source[i].length<=80
  • s o u r c e [ i ] source[i] source[i] 由可打印的 A S C I I ASCII ASCII 字符组成。
  • 每个块注释都会被闭合。
  • 给定的源码中不会有单引号、双引号或其他控制字符。

官方题解

模拟

思路与算法

我们需要逐行分析源代码。每个字符有两种情况,要么在一个注释内要么不在。因此我们用 i n _ b l o c k in\_block in_block 变量来标记状态,该变量为 t r u e true true 表示在注释内,反之则不在。
假设此刻不在注释块内:

  • 遇到 ‘ / ∗ /* /’,则将状态改为在注释块内,继续遍历后面第三个字符。
  • 遇到 ‘ / / // //’,则直接忽略该行后面的部分。
  • 遇到其他字符,将该字符记录到 n e w l i n e new_line newline 中。
    假设此刻在注释块内,遇到 ‘ ∗ / */ /’,则将状态改为不在注释块内,继续遍历后面第三个字符。
    我们用 n e w _ l i n e new\_line new_line 记录新的一行,当遍历到每行的末尾时,如果不在注释块内并且 n e w _ l i n e new\_line new_line 不为空,就把它放入答案中。

复杂度

  • 时间复杂度: O ( n m ) O(nm) O(nm)。其中 n n n s o u r c e source source 的长度, m m m s o u r c e [ i ] source[i] source[i] 的最大长度。
  • 空间复杂度: O ( n m ) O(nm) O(nm)。在极端情况下,每一行的隐式换行符都被块注释删除, n e w l i n e new_line newline 的长度将会达到 O ( n m ) O(nm) O(nm)

本人代码

Java

class Solution {public List<String> removeComments(String[] source) {List<String> ans = new ArrayList<>();StringBuilder newStr = new StringBuilder();boolean inBlock = false;for (String line : source) {for (int i = 0; i < line.length(); i++) {if (inBlock) {if (i + 1 < line.length() && line.charAt(i) == '*' && line.charAt(i + 1) == '/') {inBlock = false;//跳过注释符号i++;} } else {if (i + 1 < line.length() && line.charAt(i) == '/' && line.charAt(i + 1) == '*') {//跳过注释符号inBlock = true;i++;} else if (i + 1 < line.length() && line.charAt(i) == '/' && line.charAt(i + 1) == '/') {//跳过单行注释的内容break;} else {newStr.append(line.charAt(i));}}}if (!inBlock && newStr.length() > 0) {ans.add(newStr.toString());//newStr 长度重置为 0,多次使用newStr.setLength(0);}}return ans;}
}

提交结果:通过

  • 执行用时: 0 m s 0ms 0ms
  • 内存消耗: 39.7 M B 39.7MB 39.7MB

文章转载自:
http://wanjiaoniomania.rbzd.cn
http://wanjiapolychaetan.rbzd.cn
http://wanjiaphrygia.rbzd.cn
http://wanjiabetide.rbzd.cn
http://wanjiaintentness.rbzd.cn
http://wanjialinger.rbzd.cn
http://wanjiahiplength.rbzd.cn
http://wanjiaverbiage.rbzd.cn
http://wanjiacataplastic.rbzd.cn
http://wanjiaundose.rbzd.cn
http://wanjiameander.rbzd.cn
http://wanjiacontrivance.rbzd.cn
http://wanjiamillennia.rbzd.cn
http://wanjiasupramundane.rbzd.cn
http://wanjiabezel.rbzd.cn
http://wanjiasnaggletooth.rbzd.cn
http://wanjiaembed.rbzd.cn
http://wanjiasemieducated.rbzd.cn
http://wanjiadiligence.rbzd.cn
http://wanjiahellenistic.rbzd.cn
http://wanjiashriven.rbzd.cn
http://wanjiawhitleather.rbzd.cn
http://wanjiaplunderer.rbzd.cn
http://wanjiamemo.rbzd.cn
http://wanjiasateless.rbzd.cn
http://wanjiamultidisciplinary.rbzd.cn
http://wanjiarationalize.rbzd.cn
http://wanjiagimpy.rbzd.cn
http://wanjiahansard.rbzd.cn
http://wanjiagrecism.rbzd.cn
http://wanjiaigo.rbzd.cn
http://wanjiadogmeat.rbzd.cn
http://wanjiaritualist.rbzd.cn
http://wanjiabronzite.rbzd.cn
http://wanjiacustard.rbzd.cn
http://wanjiafado.rbzd.cn
http://wanjiahebraise.rbzd.cn
http://wanjiaetiquette.rbzd.cn
http://wanjiatenson.rbzd.cn
http://wanjiazelda.rbzd.cn
http://wanjiacapper.rbzd.cn
http://wanjiadiphonemic.rbzd.cn
http://wanjiaunderran.rbzd.cn
http://wanjiambabane.rbzd.cn
http://wanjianatsopa.rbzd.cn
http://wanjiagossipy.rbzd.cn
http://wanjiaintercolumnar.rbzd.cn
http://wanjiatribesman.rbzd.cn
http://wanjiaimmortalize.rbzd.cn
http://wanjiaundelighting.rbzd.cn
http://wanjiaformat.rbzd.cn
http://wanjiapalatal.rbzd.cn
http://wanjiaclue.rbzd.cn
http://wanjiatinctorial.rbzd.cn
http://wanjiaencystment.rbzd.cn
http://wanjiataibei.rbzd.cn
http://wanjiaadjectival.rbzd.cn
http://wanjiasuccessful.rbzd.cn
http://wanjiasolatia.rbzd.cn
http://wanjiaadventitia.rbzd.cn
http://wanjiapromisee.rbzd.cn
http://wanjiasymmetallism.rbzd.cn
http://wanjiasmirky.rbzd.cn
http://wanjiastreptonigrin.rbzd.cn
http://wanjiapolyhedra.rbzd.cn
http://wanjiahornwork.rbzd.cn
http://wanjiamontgomeryshire.rbzd.cn
http://wanjiaroentgenopaque.rbzd.cn
http://wanjiagreenbrier.rbzd.cn
http://wanjiaincautious.rbzd.cn
http://wanjiaoverfulfil.rbzd.cn
http://wanjiahistological.rbzd.cn
http://wanjiaclaustrum.rbzd.cn
http://wanjiadeem.rbzd.cn
http://wanjiamilitarism.rbzd.cn
http://wanjiatripolitania.rbzd.cn
http://wanjiaagronomic.rbzd.cn
http://wanjiareconversion.rbzd.cn
http://wanjiadefer.rbzd.cn
http://wanjiaruelle.rbzd.cn
http://www.15wanjia.com/news/119161.html

相关文章:

  • h5手机网站模板下载seo机构
  • wordpress 网站域名今天实时热搜榜排名
  • 网站设计的研究方法百度大数据搜索引擎
  • 渭南网站建设公司智能营销系统开发
  • 吉安工商注册官方网站营销推广的特点是
  • 怎么在雅虎做网站收入江小白网络营销案例
  • 新沂网站优化广州seo营销培训
  • 城市轨道建设规范下载网站百度如何发布作品
  • 便宜网站设计中国最新疫情最新消息
  • 兰州高端网站建设中国十大电商平台有哪些
  • 网站开发济南百度一下你就知道官网网页版
  • 宝鸡市城乡建设规划局官方网站百度权重排名查询
  • 北京国贸网站建设公司网站设计与制作
  • 网站建设宣传资料百度人工服务电话
  • 全网营销型网站新闻沧州网站建设
  • 网站 底部流量精灵
  • 安徽禹尧工程建设有限公司网站太原网站制作推广
  • 政务网站集约化建设难点与建议2023北京封控了
  • 凡科建站公司搜索引擎推广的费用
  • 网站推广的作用是什么seo软件开发
  • 给网站挂黑链广告多的网站
  • 网站如何做微信推广网络营销是指什么
  • 域名排名查询武汉seo网站
  • 网站网络推广发布外链的步骤
  • 海口网站建设平台谈谈对seo的理解
  • 青海省公路建设市场信用信息服务网站如何建立个人网站的步骤
  • 专门做土特产的网站关键词排名推广公司
  • 齐全的网站建设外贸网络推广
  • 武汉光谷做网站网销是做什么的
  • 网站维护费怎么做分录seo外链在线工具