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

营销网站报备wordpress国外主题推荐

营销网站报备,wordpress国外主题推荐,阳江房产网房天下,个人网站可以直接做微信登陆吗给你一个只包含三种字符的字符串,支持的字符类型分别是 ‘(’、‘)’ 和 ‘*’。请你检验这个字符串是否为有效字符串,如果是 有效 字符串返回 true 。 有效 字符串符合如下规则: 任何左括号 ‘(’ 必须有相应的右括号 ‘)’。 任何右括号 …

给你一个只包含三种字符的字符串,支持的字符类型分别是 ‘(’、‘)’ 和 ‘*’。请你检验这个字符串是否为有效字符串,如果是 有效 字符串返回 true 。

有效 字符串符合如下规则:

任何左括号 ‘(’ 必须有相应的右括号 ‘)’。
任何右括号 ‘)’ 必须有相应的左括号 ‘(’ 。
左括号 ‘(’ 必须在对应的右括号之前 ‘)’。
‘*’ 可以被视为单个右括号 ‘)’ ,或单个左括号 ‘(’ ,或一个空字符串 “”。

示例 1:
输入:s = “()”
输出:true

示例 2:
输入:s = “(*)”
输出:true

示例 3:
输入:s = “(*))”
输出:true

提示:
1 <= s.length <= 100
s[i] 为 ‘(’、‘)’ 或 ‘*’

class Solution {
public:bool checkValidString(string s) {stack<int> st1;stack<int> st2;for(int i = 0; i < s.size(); i++){int c = s[i];if(c == '('){st1.push(i);}else if(c == '*'){st2.push(i);}else if(c == ')'){if(!st1.empty()){st1.pop();}else if(!st2.empty()){st2.pop();}else return false;}}while(!st1.empty() && !st2.empty()){int k1 = st1.top();int k2 = st2.top();st1.pop();st2.pop();if(k1 > k2){return false;}}return st1.empty();}
};

时间复杂度:O(n),其中 n 是字符串 s 的长度。需要遍历字符串一次,遍历过程中每个字符的操作时间都是 O(1),遍历结束之后对左括号栈和星号栈弹出元素的操作次数不会超过 n。

空间复杂度:O(n),其中 n 是字符串 s 的长度。空间复杂度主要取决于左括号栈和星号栈,两个栈的元素总数不会超过 n。

这道题,我们可以定义两个栈,一个栈用来储存未匹配的左括号的索引,一个栈用来储存星号的索引。当我们遍历到左括号或者星号的时候,我们就将他的索引推入栈中,当我们遍历到右括号的时候,我们优先将他与左括号进行匹配,没有左括号我们才用星号去匹配。

遍历完字符串了以后,可能会存在还有未匹配的左括号,我们要做的就是将他与星号进行匹配,那么我们就记录栈顶元素,也就是他们各自的索引,由于星号这时候充当的是变成右括号,那么星号的索引必定要大于左括号才可以,如果st1的栈顶索引大于st2的栈顶索引,那么就会返回false,因为这时候找不到一个星号和这个左括号进行匹配。

最后返回st1.empty(),即当st1中的左括号和星号匹配后,依旧还有剩余,那么就是false,如果st1为空,那么就返回true。

贪心

class Solution {
public:bool checkValidString(string s) {int minCount = 0, maxCount = 0;int n = s.size();for(int i = 0; i < n; i++){char c = s[i];if(c == '('){minCount++;maxCount++;}else if(c == ')'){minCount = max(minCount-1, 0);maxCount--;if(maxCount < 0) return false;}else{maxCount++;minCount = max(minCount-1, 0);}}return minCount == 0;}
};

时间复杂度:O(n),其中 n 是字符串 s 的长度。需要遍历字符串一次。
空间复杂度:O(1)

minCount:表示可能的最低括号数。它考虑了 ‘’ 可以为 ‘)’ 的情况,用于平衡括号。
maxCount:表示可能的最高括号数。它考虑了 '
’ 可以为 ‘(’ 的情况,用于平衡括号。

任何情况下,未匹配的左括号数量必须非负,因此当最大值变成负数时,说明没有左括号可以和右括号匹配,返回 false。

http://www.yayakq.cn/news/669701/

相关文章:

  • 招投标中网站建设评分标准岳麓区做网站
  • 马鞍山 网站建设 有限公司企业网站制作需要多少费用
  • 如何建立自己的企业网站营销咨询公司经营范围
  • 游戏网站开发难度简洁手机导航网站模板下载安装
  • 网站建设帖子外贸建站模板价格
  • 网站推广淘宝联盟怎么做成都网站开发培训多少钱
  • 网站开发语言太老wordpress首页显示一张图片不显示
  • 国外优秀平面设计网站wordpress pdf插件下载
  • 网站的音乐链接怎么做综治暨平安建设网站
  • flsah在网站开发中的作用网站推广的目的和意义
  • 天津移动网站设计天津做网站外包公司
  • 深圳 建设银行国际互联网站wordpress的背景图片
  • 做网站的宣传语建设营销型网站的原因
  • 广东网站备案网站建设方案书生活家装饰
  • 关于建设校园网站申请报告网站代备案需要多少钱
  • 自己制作的网站怎么做分页wordpress 清空回收站
  • 关于网站建设的外文翻译wordpress编辑者
  • 罗湖高端网站设计王烨妮
  • 有动效得网站c2c电商网站
  • 怎样建设数字中国seo在线培训机构
  • 多商家网站建设信息流广告投放渠道
  • 建设零食网站的可行性如何查询网站的注册信息
  • 北京南昌网站制作媒体软文发布平台
  • 流媒体网站开发pdf网站建设遇到哪些攻击
  • 网站建设的同义词电商网站开发视频
  • 先做个在线电影网站该怎么做微信里的小程序游戏
  • 盘县网站建设河北 保定 网站建设
  • 北京网站建设 时创设计网站建设学什么的
  • 网站备案证书小程序推广话术案例
  • 移动端网站如何做开放式配河南智能网站建设平台