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

高端网站开发公开课百度客服系统

高端网站开发公开课,百度客服系统,万源网站建设,泉州做网站企业目录 问题描述 解题思路 复杂度分析 示例分析 暴力替换“不讲码德” 总结 问题描述 给定一个仅由 ( 和 ) 组成的字符串 s,我们需要通过添加最少数量的括号(( 或 ))使得字符串有效。有效字符串需满足: 空字符串是有效的。 …

目录

问题描述

解题思路

复杂度分析

示例分析

暴力替换“不讲码德”

总结


问题描述

给定一个仅由 '(' 和 ')' 组成的字符串 s,我们需要通过添加最少数量的括号('(' 或 ')')使得字符串有效。有效字符串需满足:

  1. 空字符串是有效的。

  2. 如果字符串 A 有效,则 (A) 也有效。

  3. 如果字符串 A 和 B 有效,则 AB 也有效。

示例

  • 输入:s = "())" → 输出:1(添加一个 '(' 变成 "()()")

  • 输入:s = "(((" → 输出:3(添加三个 ')')

解题思路

核心思想是每一步尽可能匹配括号,以减少后续需要添加的数量:

  1. 左括号计数:遍历字符串时记录未匹配的左括号数量。

  2. 处理右括号:遇到右括号时,优先匹配最近的左括号。若没有可匹配的左括号,则需添加一个左括号。

  3. 剩余左括号:遍历结束后,未匹配的左括号每个都需要一个右括号。

这种贪心策略确保每一步都最大化有效括号的数量,从而最小化添加次数。

var minAddToMakeValid = function(s) {let ans = 0;         // 需要添加的括号总数let leftCount = 0;   // 当前未匹配的左括号数量const length = s.length;for (let i = 0; i < length; i++) {const c = s[i];if (c === '(') {leftCount++; // 遇到左括号,计数增加} else {if (leftCount > 0) {leftCount--; // 有左括号可匹配,计数减少} else {ans++;       // 无左括号可匹配,需添加一个左括号}}}ans += leftCount;    // 剩余未匹配的左括号需添加对应右括号return ans;
};

复杂度分析

  • 时间复杂度:O(n),只需遍历一次字符串。

  • 空间复杂度:O(1),仅使用常数级别的额外空间。

示例分析

以输入 s = "())" 为例:

  1. 遍历字符 '(' → leftCount = 1

  2. 字符 ')' → leftCount = 0

  3. 字符 ')' → 无左括号可匹配,ans = 1

  4. 结束遍历,剩余 leftCount = 0,总结果 ans = 1

暴力替换“不讲码德”
 

var minAddToMakeValid = function(s) {while(s.includes("()")) { // 循环替换所有 "()"s = s.replace("()", "");}return s.length; // 剩余字符长度即为答案
};

“暴力替换”写法存在以下问题:

  1. 匹配顺序依赖:结果受 replace() 替换顺序影响,可能错误处理嵌套结构。

  2. 结果不稳定:特定结构下碰巧正确,但无法覆盖所有测试用例。

  3. 性能隐患:多次字符串替换操作的时间复杂度为 O(n²),远高于贪心算法的 O(n)。

 

总结

通过贪心策略,优先匹配最近的左括号,确保每一步都最优,最终得到最少添加次数。此方法高效且简洁,适合处理类似括号匹配问题。

http://www.dtcms.com/wzjs/169478.html

相关文章:

  • javaweb是用java做网站吗哈尔滨百度网站快速优化
  • 教育门户网站建设百度推广优化师培训
  • wordpress如何设置邮箱seo问答
  • 网站建设方案报价网站免费软件
  • 局网站建设工作google收录查询
  • 做网站是靠什么赚钱网站的优化
  • 网站 http 状态码返回值301解决微博推广费用
  • 网站建设呼和浩特百度云网盘资源
  • 上海成品网站seo黑帽有哪些技术
  • 机械网站模板关键词抓取工具都有哪些
  • 浙江做网站的公司有哪些微商软文范例
  • 例举一个"目录索引类搜索引擎"网站并将这个网站的url写在下方.百度一下首页官网百度
  • 自己有网站 做app吗最新病毒感染什么症状
  • 如何建设小说网站并且盈利百度快速排名
  • excel做注册网站谷歌浏览器下载手机版最新版
  • python自学网站免费菜鸟教程百度引擎搜索网址
  • 东莞营销型网站建设网络整合营销是什么意思
  • 网站主机一个g网络营销前景和现状分析
  • 怎么看一个网站用什么程序做的seo关键词优化排名哪家好
  • 建站设计网站专业软文代写
  • 南阳哪有做网站公司seo搜索引擎优化费用
  • 网站建站网站多少钱免费网页模板网站
  • wordpress html 模板下载百度seo不正当竞争秒收
  • 下载免费网站模板下载网络策划
  • 一起做网店类型的网站技能培训班有哪些课程
  • 特别好的企业网站程序企业域名查询
  • 做爰视频免费安全的网站搜狗seo排名软件
  • 淮安做网站的公司有哪些公司管理人员课程培训
  • 做网站 要域名 主机 还有啥河南最近的热搜事件
  • 网站怎么做查询功能seo在线外链