首页 > 编程语言 >百度二面算法:合法的括号字符串(贪心解法)

百度二面算法:合法的括号字符串(贪心解法)

时间:2024-10-30 15:48:58浏览次数:6  
标签:二面 示例 括号 字符串 2.2 2.1 贪心

目录标题

1.题目

给定一个字符串s,字符串s只包含以下三种字符: (,*,),请你判断 s是不是一个合法的括号字符串。合法括号字符串有如下规则:

  1. 左括号’(‘必须有对应的右括号’)’
  2. 右括号’)‘必须有对应的左括号’(’
  3. 左括号必须在对应的右括号前面
  4. *可以视为单个左括号,也可以视为单个右括号,或者视为一个空字符
    5.空字符串也视为合法的括号字符串

1.1示例

示例1

输入:"()()"
返回值:true

示例2

输入:"((*)"
返回值:true

示例3

输入:"(((*)"
返回值:false

2.利用贪心算法求解

import java.util.*;


public class Solution {
   
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param s string字符串
     * @return bool布尔型
     */
    public boolean isValidString (String s) {
   
        //待消除左括号的最小个数
        int minCount=0;
        //待消除左括号的最大个数
        int maxCount=0;
        int n=s.length(

标签:二面,示例,括号,字符串,2.2,2.1,贪心
From: https://blog.csdn.net/Larry_794204525/article/details/143268354

相关文章

  • [CSP-S 2024] 超速检测——模拟、贪心
    [CSP-S2024]超速检测(民间数据)题目描述小D新入职了某国的交管部门,他的第一个任务是负责国家的一条长度为\(L\)的南北主干道的车辆超速检测。为了考考小D,上司首先需要他解决一个简化的场景。这个周末,主干道上预计出现\(n\)辆车,其中第\(i\)辆车从主干道上距离最南端\(......
  • 百度二面算法:合法的括号字符串
    目录标题1.题目1.1示例2.利用栈求解2.1代码结构分析2.1.1代码优缺点1.题目给定一个字符串s,字符串s只包含以下三种字符:(,*,),请你判断s是不是一个合法的括号字符串。合法括号字符串有如下规则:左括号’(‘必须有对应的右括号’)’右括号’)‘必须有对应的左括号......
  • 贪心算法案例 - 分发糖果
    贪心算法案例-分发糖果(Hard)1.题目描述n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到1个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备......
  • 贪心算法案例 - 分发饼干
    贪心算法案例-分发饼干(Easy)1.题目描述有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃最多一个饼干,且只有饼干的大小大于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩子可以吃饱?2.输出案例输入两个数组,分别代表孩子的饥饿度和饼干......
  • [反悔贪心] Add One 2
    估计是全网最复杂题解。。。反向考虑:将\(a_i\)进行减操作,使得每个数都小于等于0。考虑差分,差分后将区间减转变为单点的加减,但是这样一来每个数都小于等于0的判定就变成了要判定前缀和是否都小于等于0,这不太好处理。考虑增加一个区间加操作,对\([l,r]\)的区间内的\(a_i\)......
  • 【信奥赛·算法基础】CSP-J C++ 贪心算法示例汇总
    序言为了更清晰的了解贪心算法,我把常见的贪心算法示例做了一个总结,把问题和策略,以及代码示例放到了一起,方便学习和分析,这里示例仅以C++为例,其他语言可根据示例调整即可一、钱币找零问题问题描述:给定不同面额的钱币以及每种面额的数量,用最少的钱币张数凑齐给定的总金额。......
  • 初识调整法(贪心)
    引例:\(证明:圆内接四边形中正方形的面积最大\)$在圆上顺时针任取四点A,B,C,D构成凸四边形,固定对角线AC,分别令B,D在对应的圆弧上自由滑动.$$\becauseS_{四边形ABCD}=\frac{(d_{B-AC}+d_{D-AC})\cdot|AC|}2$$\therefore最大化S_{四边形ABCD}\Rightarrow......
  • 【提高】删除多余括号
    #include<iostream>usingnamespacestd;stringa;intb[280]={0};intfi(charl){if(l=='*'){return2;}elseif(l=='+'){return1;}elseif(l=='/'){return5;}elseif(l=='......
  • 解决Pycharm设置虚拟环境,pip仍为全局的问题(即使命令行前有括号,显示已经进入了虚拟环境
    主要原因:路径带中文,即使重命名后一些环境信息没有跟着自动更新由此引发的:问题1、进入venv/Scripts后,piplist时候有乱码问题2、pycharm只能读取到全局的pip,读取不到你想要的虚拟环境中的pip了怎么解决:其实最暴力的方法,是从头开始重建项目,但只适合初期还没有太大工作量的项目......
  • 20. 有效的括号
     classSolution{public:boolisValid(strings){intr1=0,r2=0,r3=0;chartemp;stack<char>stk;for(inti=0;i<s.size();++i){if(s[i]=='('||s[i]=='['||s[......