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

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

目录标题

  • 1.题目
    • 1.1示例
  • 2.利用贪心算法求解
    • 2.1 代码结构分析
      • 2.1.1 代码优缺点
      • 2.1.2 星号的角色分析
        • 2.1.2.1 处理星号的逻辑
        • 2.1.2.2 整体逻辑
        • 2.1.2.3 代码逻辑总结
    • 2.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(

http://www.mrgr.cn/news/61575.html

相关文章:

  • 【面试】rabbitmq的主要组件有哪些?
  • 记某大学的一次EduSRC的挖掘
  • Linux 进程优先级 进程切换
  • 智子: Vue Vapor年底发布alpha版本,如果有资金支持
  • 管家婆ERP集成用友U8(管家婆主供应链)
  • 【含开题报告+文档+PPT+源码】基于SSM的旅游与自然保护平台开发与实现
  • 【机器学习】环境搭建及Sklearn鸢尾花数据集
  • Python | Leetcode Python题解之第519题随机翻转矩阵
  • Python中的切片是什么,它有什么用处?
  • 25_DNS:域名系统详解
  • C++ | Leetcode C++题解之第519题随机翻转矩阵
  • windows 驱动实例分析系列: NDIS 6.0的Filter 驱动改造(四)
  • Java | Leetcode Java题解之第520题检测大写字母
  • Linux(一)
  • 从0开始搭建一个生产级SpringBoot2.0.X项目(五)使用 validation 验证参数
  • C++核心编程和桌面应用开发 第十七天(set和multiset容器 pair map和multimap容器)
  • Json库和文件操作
  • Cargo 的工作机制
  • 一道巧妙的卡特兰数建模
  • 聊聊解构的那些事
  • 本篇文章来介绍下dockerfile
  • LeetCode 热题 100 回顾2
  • Golang | Leetcode Golang题解之第519题随机翻转矩阵
  • 速盾:海外高防CDN有哪些优势?
  • SpringBoot篇(自动装配原理)
  • 〈壮志凌云:独行侠〉中的超高音速战机