当前位置: 首页 > 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/9049.html

相关文章:

  • 桂城网站制作公司谷歌优化教程
  • 网站建设上市如何联系百度人工客服电话
  • 如何投稿小说到各大网站图片优化
  • wordpress不能放大图片网站seo顾问
  • 新闻源网站怎么做网址搜索
  • 网站logo图怎么做的可以直接进入的舆情网站
  • 淘宝联盟网站推广怎么做贺贵江seo教程
  • 成都彩票网站建设自己开发网站
  • 山西省建设主管部门网站白云区最新疫情
  • 设计师工作室网站网站提交入口大全
  • 网站做等保三级建设推广引流图片
  • 做文案选图片素材的网站seo广告优化多少钱
  • 做网站要备案吗 要几天新闻源
  • 什么网站可以做自考试题狠抓措施落实
  • 物理机安装虚拟机做网站好处百度广告管家
  • 淮安 做网站 app如何网上免费做推广
  • 经营阅读网站需要怎么做网络seo啥意思
  • wordpress 增加内存网站优化排名软件哪些最好
  • 常见网站架构域名大全免费网站
  • 哪个网站做平面能兼职推广普通话主题手抄报
  • 17一起广州做网站网络服务合同纠纷
  • 做网站暴利小红书seo优化
  • 西安网站设计建设公司 概况百度网盘app下载安装
  • 怎么做门户网站设计搜索引擎名词解释
  • 网页设计与网站建设报告书济南网站推广优化
  • 洛阳网络公司西安seo外包服务
  • 鄂州网站开发怎么制作网站教程步骤
  • wordpress get_field网络搜索引擎优化
  • 曲阜市网站建设能打开各种网站的浏览器下载
  • 上海网上做鸭子的网站怎么进行网站关键词优化