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

高端网站开发步骤网络营销的优势

高端网站开发步骤,网络营销的优势,广东网站开发公司,wordpress上传的文件在哪里目录 问题描述 解题思路 复杂度分析 示例分析 暴力替换“不讲码德” 总结 问题描述 给定一个仅由 ( 和 ) 组成的字符串 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/119623.html

相关文章:

  • 免费咨询的方法seo技术建站
  • 长春最新通告今天如何优化关键词排名快速首页
  • 成都做小程序哪个服务最好西安seo网站排名
  • 做网站基本seo优化的网站
  • 做足球推荐网站能赚钱吗一件代发48个货源网站
  • 青岛哪家做网站好汕头seo建站
  • java+网站开发开什么书网站开发公司哪家好
  • 如何购买网站主机百度站长平台如何添加网站
  • 网站 栏目 英语网站免费搭建平台
  • 中小型网站建设有效的网站推广方式
  • 青岛城阳做网站seo怎么做关键词排名
  • 上海网站域名注册价格建站平台
  • 重庆特种作业证件查询合肥网络推广优化公司
  • 外国人 做的中国字网站百度网盘帐号登录入口
  • 如何做网站ab测试seo点击排名
  • 盐城seo网站优化外链屏蔽逐步解除
  • 网站的引导页面是什么意思郑州seo优化顾问
  • 好看的网站地图样式企业在线培训平台
  • 网站增加栏目费用网站优化外包顾问
  • 做网站首选智投未来1百度客服怎么转人工电话
  • 中介专门做别墅的网站建网站有哪些步骤
  • 做网站去哪里淘宝代运营公司十大排名
  • 保定建设网站及推广浏览器地址栏怎么打开
  • 做外贸维护网站需要注意什么爱站网站seo查询工具
  • 建设通属于官方网站石家庄关键词优化平台
  • 网站系统的运营和维护最大免费广告发布平台
  • 网站建设招聘信息微信seo排名优化软件
  • wordpress啦去长沙有实力seo优化
  • 做的网站怎么让百度收索时搜搜狗收录入口
  • 西安广告公司联系方式晨阳seo顾问