字符串问题之 括号字符串的有效性和最长有效长度

SpringDoc集成指南:Spring Boot 4接口文档生成实践 接口文档是前后端协作的关键环节,而随着Spring Boot生态升级,传统的Swagger方案逐渐难以适应。OpenAPI 3规范作为行业标准,为接口描述提供了统一模型。SpringDoc基于该规范,能够在Spring Boot应用中自动扫描Controller并生成结构化的API文档,其技术价值在于低侵入、高性能和版本兼容性。在实际工程中,配合knife4j增强UI,可以显著提升接口调试与文档管理效率。本文围绕SpringDoc在Spring Boot 4.1.0项目中的落地实践,从注解使用到配置优化,再 阅读详情

字符串问题之 括号字符串的有效性和最长有效长度

给定一个字符串 str, 判断是不是整体有效的括号字符串

str=“(())”    true

str=“()a()”  false

 

进阶题目:  给定一个括号字符串str,返回最长的有效括号子串

 

 

首先原问题的解决思路:

各种判断:

  遍历判断每个字符是不是“(” 或“)”,如果不是,false

  遍历到每一个字符时,都检查到目前为止“(” 和“)”的数量, 如果“)”多 返回false

  便利后检查“(” 和 “)”的数量一样多 true  否则false

 

package TT;

public class Test6 {
  
    public static boolean isValid(String str){
        
        if(str==null || str.equals("")){
            return false;
        }
        
        char[] chas = str.toCharArray();
        int status = 0;
        for(int i =0; i<chas.length; i++){
            if(chas[i] !=')' && chas[i] !='('){
                return false;
                }
            if(chas[i] ==')' && --status <0){
                return false;
            }
            if(chas[i] == '('){
                 status++;
            }
        }
        return status == 0;
    }
    
    
    public static void main(String[] args){
        
         String b ="(())";
         
         boolean c = isValid(b);
        
         System.out.println(c);
    }
    
    
    
}

结果:

 

public class Test7 {
    public static boolean isValid(String str) {

        int countRight = 0;
        int countLeft = 0;
        for (int i = 0; i < str.length(); i++) {
            char now = str.charAt(i);
               
             if (now !='(' && now !=')') {
                return false;
            }
            
                if (now == '(') {
                    countLeft++;
                } else if (now == ')') {
                    countRight++;
                    if (countRight > countLeft) {
                        return false;
                    }

                }
        }
        if (countRight == countLeft) {
            return true;
        }
        return false;
    }

    public static void main(String[] args) {

        String b = "()()";
        boolean c = isValid(b);
        System.out.println(c);

    }
}

 

posted @ 2017-08-22 10:23 toov5 阅读( ...) 评论( ...) 编辑 收藏
2023年数学建模国赛三大赛题核心建模思路与实战代码全解 本文全面解析2023年数学建模国赛三大赛题的核心建模思路与实战代码,涵盖塔式太阳能光热发电系统优化、多波束测深系统动态规划及蔬菜商品化策略建模。通过Python代码示例和优化算法(如遗传算法、NSGA2)展示,帮助参赛者掌握数学建模的关键技术与实战技巧,提升竞赛成绩。 阅读详情

相关推荐

EDA的未来:当AI与Cadence Virtuoso相遇

本文探讨了AI技术与Cadence Virtuoso在EDA领域的融合,展示了如何通过生成式AI提升芯片设计效率。文章详细分析了Virtuoso设计环境的智能化演进、AI驱动的设计辅助功能实现路径,以及SKILL语言的进化方向,为工程师提供了未来EDA工具的发展趋势和实用案例。

weixin_28312391的博客 652

括号字符串的有效性

import java.util.*; public class Main { public static void main(String[] args){ Scanner in =new Scanner(System.in); String str=in.nextLine(); Stack<Character>stack=new Stack<>(); int i=0; for(;i<st

Lily8888888的博客 457

如何实现VMware虚拟机上的ubuntu与windows主机共享文件夹

windows主机部分   在硬盘上任意位置新建文件夹,此处命名为Share,实际上随意。 接下来右键属性,操作如下系列图所示: 在硬盘上任意位置新建文件夹,此处命名为Share,实际上随意。 成功修改后,显示如下界面: VMware部分 ubuntu在关机状态下,点击“编辑虚拟机设置” 接下来,开启ubuntu系统,在终端输入: ·· vmware-hgfsclient ·· 将会显示如下画面,但是此时你可能找不到 /mnt/hgfs 这个路径,如果找不到该路径,则需要在虚拟

Mr.Sliver的博客 8220

程序员代码面试指南刷题--第五章.括号字符串的有效性

题目描述 给定一个字符串str,判断是不是整体有效的括号字符串(整体有效:即存在一种括号匹配方案,使每个括号字符均能找到对应的反向括号,且字符串中不包含非括号字符)。 输入描述: 输入包含一行,代表str(1≤lengthstr≤105)。 输出描述: 输出一行,如果str是整体有效的括号字符串,请输出“YES”,否则输出“NO”。 示例1 输入 (()) 输出 YES 示例2 输入 ()a() 输出 NO 说明 ()a()中包含了 ‘a’,a不是括号字符 解法一:利用栈 import j

我不是什么好人 719

pytorch实现手语识别

连续手语识别项目,中文数据集CSL

masteryi-0018的博客 1万+

Android15 AndroidV冻结和解冻的场景

cgroup 最初由 Google 工程师 Paul Menage 和 Rohit Seth 在 2006 年提出,是一种细粒度资源控制的Linux内核机制。于 2007 年合并到 Linux 内核主线中。然而 Google 原生系统直到 Android 11 或更高版本上才支持 CACHE 应用的 CPU 冻结功能。当应用切换到后台并且没有其他活动时,系统会在一定时间内通过状态判断,将进程 ID 迁移到冻结的 cgroup 节点上,实现冻结 CACHE 应用。

苏法迪的专栏 1788

[编程题]括号字符串的有效性

链接:https://www.nowcoder.com/questionTerminal/769abd985f3849d0b9415b082f94c192 来源:牛客网 给定一个字符串str,判断是不是整体有效的括号字符串(整体有效:即存在一种括号匹配方案,使每个括号字符均能找到对应的反向括号,且字符串中不包含非括号字符)。 输入描述: 输入包含一行,代表str(1≤lengthstr≤105)( 1 \leq length_{str} \leq 10^5)(1≤lengthstr​≤105.

vznsjsbsjjs的博客 274

DEV-C++调试设置

       昨天用C/C++去考了CSP,结果用DEV-C++调试总是闪退,按照我的记忆打开了调试参数,迷迷糊糊搞了一通,还是没办法调试,难受了几个小时。所以今天痛下决心,一定要写下DEV-C++设置调试的过程,警示自己! 解决步骤 1.打开DevC++找到上方工具栏 2.点击选择编译选项,再按下图所示设置即可

懒羊羊的快乐小屋 1029

字符串问题---括号字符串的有效性和最长有效长度

【题目】给定一个字符串str,判断是不是整体有效的括号字符串。例如,str = “()()()”,返回True,str = “())” 或 “()a()”,返回False。【补充题目】给定一个括号字符串,返回最长的有效字符串。【基本思路】原问题。判断过程如下: 从左到右遍历str,判断每一个字符是否是括号,如果不是,直接返回False。 遍历过程中,检查目前位置 ‘(‘和 ‘)’的数量,如果 ‘)’

冰殇的博客 2064

李宏毅机器学习hw3

Homework 3 - Convolutional Neural Network 1作业概述 在food_11文件中有三个文件分别是training、validation、testing,打开training和validation可以看见总共有11种食物(0-10的类别编号),而testing是没有类别编号的。 然后用卷积神经网络对食物图片进行分类。 2导入用到的库 torch库 这个我弄了半天,直接pip总是timeout,用镜像源下下来又出现OSError: [WinError..

老问题的博客 4189

【Altium designer】如何添加过孔阵列

按下图1指示,执行【Tool】菜单栏下【Via Stitching/Shielding】选项卡中的【Add Stitching to Net...】选项 图1 “添加过孔阵列”选项 点击【Add Stitching to Net...】选项后,会跳出一个窗口,让我们设置过孔阵列的参数信息,如下图2所示。 图2 过孔阵列参数设置 过孔阵列区域:勾选该选项框,即可绘制多边形区域; 过孔内径与焊盘直径:比如内径 【Hole Size】设为12mil,焊盘直径【Diameter】设为24mil; .

夜半少年的博客 2万+

数据结构--括号问题汇总

1.有效的括号 leetcode 20 考虑到有效匹配的问题,可以采用栈的方法,每次匹配上一个栈顶的字符,不符合就返回,将左括号放入栈中,用右括号去匹配,思路如下: class Solution { public: char returnWord(char c){ char res = '0'; switch(c){ case ')': res = '('; break;

我会微积分 617

时空智友企业流程化管控系统文件上传漏洞

时空智友企业流程化管控系统是一个功能丰富、灵活可定制的企业管理工具。通过该系统,企业能够实现流程的自动化、协同的提升、数据的洞察和决策的优化,从而提高工作效率、管理水平和企业竞争力。时空智友企业流程化管控系统 formservice接口处存在任意文件上传漏洞,未经认证的攻击者可通过此接口上传后门文件,最终可导致服务器失陷。

holyxp的博客 1033

字符串问题—其四

文章目录数组中两个字符串的最小距离题目代码添加最少字符使字符串整体都是回文字符串题目代码括号字符串的有效性和最长有效长度题目代码公式字符串求值题目代码 数组中两个字符串的最小距离 题目 给定一个字符串数组strs,再给定两个字符串str1和str2,返回在strs中str1和str2的最小距离,如果str1和str2为NULL,或不在strs中,返回-1。 进阶题目:如果查询发生的次数较多,如何把...

lei_h11的博客 649

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

括号字符串的有效性和最长有效长度

题目 给定一个字符串s,判断是不是整体有效的括号字符串。 例如: s = ‘()’ -> True s = ‘())’ -> False 思路 遍历字符串,记录待匹配的’(‘的个数count,遇到’(’, count += 1,遇到’)’, count -= 1,如果过程中count < 0,返回False。遍历完成,且count恰好为0,返回True 实现 def is_v...

孤舟钓客 572

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

最长有效括号子串长度 c语言,括号字符串的有效性和最长有效长度

题目给定一个字符串s,判断是不是整体有效的括号字符串。例如:s = ‘()’ -> Trues = ‘())’ -> False思路遍历字符串,记录待匹配的’(‘的个数count,遇到’(’, count += 1,遇到’)’, count -= 1,如果过程中count < 0,返回False。遍历完成,且count恰好为0,返回True实现def is_valid(s):if...

weixin_28678517的博客 386

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

牛客 括号字符串的有效性和最长有效长度

题目链接:https://www.nowcoder.com/practice/335acafb6d5141b7873c4b0f24d53c57?tpId=101&tqId=33195&tPage=1&rp=1&ru=/ta/programmer-code-interview-guide&qru=/ta/programmer-code-intervi...

weixin_30287169的博客 254

书籍括号字符串的有效性和最长有效长度(5)0317

比如,"()(())",假设遍历到最后一个字符')',通过上面的过程找到的必须以最后字符结尾的最长有效括号子串起码是"(())",但是前面还有一段"()",可以和"(())"结合在一起构成更大的有效括号子串。也就是说,str[i-dp[i-1]-1]和str[i]配成了一对,这时还应该把dp[i-dp[i-1]-2]的值加到dp[i]中,这么做表示把str[i-dp[i-1]-2]结尾的最长有效括号子串接到前面,才能得到以当前字符结尾的最长有效括号子串接到前面,才能得到以当前字符结尾得最长有效括号子串。

qq_30750287的博客 378
上一篇: 字符串问题之 在有序但含有空的数组中查找字符串
下一篇: 字符串问题之 找到字符串的最长无重复子串长度
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值