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

括号合法题

一、括号合法题

2116. 判断一个括号字符串是否有效

    //采用从左往右和从右往左遍历的贪心算法,分别保证前缀合法,后缀合法。
    public boolean canBeValid(String s, String locked) {
        int n=s.length();
        if (n%2==1) return false;
        int num=0;
        // 从左到右扫描,假设所有未锁定位置都能变为 '('
        for (int i = 0; i < n; i++) {
            if (locked.charAt(i)=='0'||s.charAt(i)=='('){
                num++;
            }else {
                num--;
            }
            if (num<0){
                return false;
            }
        }
        num=0;
        // 从右到左扫描,假设所有未锁定位置都能变为 ')'
        for (int i = n-1; i >=0 ; i--) {
            if (locked.charAt(i)=='0'||s.charAt(i)==')'){
                num++;
            }else {
                num--;
            }
            if (num<0){
                return false;
            }
        }
        return true;
    }

20. 有效的括号 - 力扣(LeetCode)

    public static boolean isValid(String s) {
        int n=s.length();
        if (n%2==1) return false;
        Map<String,String> map=new HashMap<>();
        map.put("(",")");
        map.put("{","}");
        map.put("[","]");
        LinkedList<String> list=new LinkedList<>();
        for (int i = 0; i < n; i++) {
            if ("(".equals(s.charAt(i)+"")||
                    "{".equals(s.charAt(i)+"")||
                    "[".equals(s.charAt(i)+"")){
                list.add(s.charAt(i)+"");
            }else{
                String poll = list.pollLast();
                if (poll==null||!map.get(poll).equals(s.charAt(i)+"")){
                    return false;
                }
            }
        }
        if (list.size()!=0){
            return false;
        }
        return true;
    }

Java如何判断质数

再小的努力,乘以365都很明显!
每天⽤⼼记录⼀点点。内容也许不重要,但习惯很重要!
一个程序员最重要的能力是:写出高质量的代码!!
有道无术,术尚可求也,有术无道,止于术。
无论你是年轻还是年长,所有程序员都需要记住:时刻努力学习新技术,否则就会被时代抛弃!

相关文章:

  • 如何监控 SQL Server
  • 大厂面试题之计算机网络:对于socket编程,accept方法是干什么的,在三次握手中属于第几次?
  • 如何避免测试用例未覆盖核心场景
  • CSS 尺寸 (Dimension)
  • 保姆级教程搭建企业级智能体+私有知识库,Dify+ollama,Linux版
  • Go的并发模型?其和线程区别?
  • 大模型—— 走进Langchain:全面解析
  • 接口组成URL、Request(入参)、Response(返回)
  • 晶晨/全志/联发科芯片系列电视盒子改固件包教程
  • 如何理解 Apache Iceberg 与湖仓一体(Lakehouse)?
  • JS—ES5与ES6:2分钟掌握ES5与ES6的区别
  • ServiceNow vs Jira:哪个更适合中国式ITIL落地?
  • VO、DTO、POJO、PO和DO 的区别
  • 如何在Windows上下载并配置GO语言环境变量
  • C#重写treeView控件
  • 新版 eslintrc 文件弃用 .eslintignore已弃用 替代方案
  • 如何实现POE交换机串联?
  • 【蓝桥杯】每日练习 Day11 逆序对问题和多路归并
  • 美亚科技业绩波动明显:现金流为负,四起未决诉讼涉金额1700万
  • Flask(三)路由与视图函数
  • 郑州专业做网站的公司/免费推广软件下载
  • 网站建设带后台/什么是搜索引擎竞价推广
  • 个人如何建设电子商务网站/怎么建网站详细步骤
  • 企业网站的功能有哪些/seo 知乎
  • 外包网站有哪些/电子制作网站
  • 官方网站建设需要做哪些东西/利于seo的建站系统有哪些