括号

lettcode-有效的括号

邮差的信 提交于 2020-01-15 01:08:23
来源 https://leetcode-cn.com/problems/valid-parentheses 问题描述 //给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 //有效字符串需满足: //左括号必须用相同类型的右括号闭合。 //左括号必须以正确的顺序闭合。 //注意空字符串可被认为是有效字符串。 //示例 1: // //输入: “()” //输出: true //示例 2: // //输入: “()[]{}” //输出: true //示例 3: // //输入: “(]” //输出: false //示例 4: // //输入: “([)]” //输出: false //示例 5: // //输入: “{[]}” //输出: true func Push ( res * [ ] byte , s byte ) { temp := * res temp = append ( temp , s ) * res = temp } func Pop ( res * [ ] byte ) byte { temp := * res bc := temp [ len ( temp ) - 1 ] * res = temp [ : len ( temp ) - 1 ] return bc } func IsEmpty ( res * [

LeetCode 20. 有效的括号

余生长醉 提交于 2020-01-14 16:00:14
package Q20; import java.util.HashMap; import java.util.Stack; /** * @author WangJack * @date 2020/1/9 14:39 * 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 * * 有效字符串需满足: * * 左括号必须用相同类型的右括号闭合。 * 左括号必须以正确的顺序闭合。 * 注意空字符串可被认为是有效字符串。 * * 示例 1: * * 输入: "()" * 输出: true * 示例 2: * * 输入: "()[]{}" * 输出: true * 示例 3: * * 输入: "(]" * 输出: false * 示例 4: * * 输入: "([)]" * 输出: false * 示例 5: * * 输入: "{[]}" * 输出: true * 链接:https://leetcode-cn.com/problems/valid-parentheses */ public class Solution { public boolean isValid(String s) { HashMap<Character,Character> map=new HashMap<>(); map.put(')','('); map.put(']

mysql X00

爷,独闯天下 提交于 2020-01-13 18:22:01
alter 操作阻塞 在MySQL 5.5.3以后的版本中,未提交的事务一定会堵塞DDL请求(据说5.6.6以后的版本做了相关的优化,未做测试暂且不提) DDL在等待metada lock的过程中肯定会堵塞后续的DML请求,也有可能堵塞后续的SELECT请求(需要看SELECT请求是否能够命中qcache) 怎么处理这种问题是老生常谈了,优化SQL避免出现大事务,请求结束立即执行commit关闭事务,千万千万不要把所有的请求甚至包括代码的逻辑处理都塞在一个事务里面去完成,否则一旦出现一个DDL那就是灾难的发生,很难想象这次要是没有过载保护,XX系统是不会直接宕机呢? 这次问题的处理是这样的,线上环境彻底实施读写分离,让master只能写,因为这次的问题是因为程序员设定的读也使用了事务,度的频率明显高于写。 权限 授予权限 grant select,insert,update on `testdata`.* to qf@'172.100.102.%' identified by '123456'; flush privileges; 取消授权 revoke insert,update on `testdata`.* from qf@'172.100.102.%'; flush privileges; 备份账户的最小权限 select,lock tables 表的 crud

leetcode ---20. 有效的括号

孤人 提交于 2020-01-13 01:11:13
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例1: 输入 : "()" 输出 : true ` 示例2: 输入 : "()[]{}" 输出 : true 示例3: 输入 : "(]" 输出 : false 示例4: 输入 : "([)]" 输出 : false 示例5: 输入 : "{[]}" 输出 : true JAVA 思路: ①:( { } ) 当( 入栈后,取下一个括号 { ,判断当前括号是左还是右,如果为左,则继续入栈,反之为右,匹配成功。 【注意】 右括号匹配之前,先检测栈是否为空,为空:右括号比左括号多(返回false);非空:进行匹配,匹配成功出栈,匹配不成功返回false。 ②:( 入栈后判断栈是否为空,为空:匹配成功;非空:左括号比右括号多。 ③:) 栈顶无左括号,右括号进行匹配时,要保证栈不能为空。 ④:( } ( 入栈,取下一个 } ,括号次序不匹配,返回false。 代码如下: class Solution { public boolean isValid ( String s ) { Stack < Character > ss = new Stack ( ) ; for (

正则表达式括号的使用

拥有回忆 提交于 2020-01-12 20:43:47
正则表达式括号的使用 1 分组 上一章提到过的量词只针对紧邻的字符(组)起作用,例如HTML语言中的标签<table></table>匹配: <table[\s>][\s\S]+?</table> 其中忽略优先量词+?,只对紧邻的字符组[\s\S]起作用,如果需要对之前所有的部分起作用就需要用到圆括号(),写成: (<table[\s>][\s\S])+?</table> 起到了将<table[\s>][\s\S]看做一个整体的作用,即分组。 2 多选结构 括号的第二个作用就是制造出一个多选结构,两个或以上个表达式中都是合法匹配的表达式(适用多种情况时),多选结构的形式是(...|...),用竖线|分割子表达式,这些子表达式也叫多选分支,多选分支可以有好多个,只要有1个分支匹配成功即宣告匹配成功,否则匹配失败,可以类比C语言中的switch-case结构,失败就走default下的代码。 3 Pattern Pattern对应正则表达式对象,如何把一个字符串变成程序可以识别的正则表达式?这就需要用到Pattern的方法compile(): Pattern pattern = Pattern.compile(String regex); regex 是提前编辑好的正则表达式字符串。这样编译好的正则表达式可以为接下来的切分或者匹配操作铺垫。 4 Matcher Matcher可以理解为

PHP正则之去除括号和括号里面的内容

这一生的挚爱 提交于 2020-01-12 13:48:20
1.PHP去除花括号和花括号里面的内容 $str = 'dfsas{kslajfljs}45' ; $str = preg_replace ( '/\{(.*?)\}/' , '' , $str ) ; echo $str ; 2.PHP去除括号和括号里面的内容 $str = '9(kslajflj)s45' ; $str = preg_replace ( '/\(.*?\)/' , '' , $str ) ; echo $str ; exit ; 3.PHP去除尖括号和尖括号里面的内容 $str = '9sfa<kslj>s45' ; $str = preg_replace ( '/\<.*?\>/' , '' , $str ) ; echo $str ; exit ; 4.PHP去除中括号和中括号里面的内容 $str = '9sfa[ksl64546+j]s45' ; $str = preg_replace ( '/\[.*?\]/' , '' , $str ) ; echo $str ; exit ; 注意 :主要看正则的表达式,根据表达式来灵活改变 来源: CSDN 作者: 小白的程序猿 链接: https://blog.csdn.net/Hjingeng/article/details/103764818

DS堆栈--括号匹配

馋奶兔 提交于 2020-01-10 20:45:44
题目描述 处理表达式过程中需要对括号匹配进行检验,括号匹配包括三种:“(”和“)”,“[”和“]”,“{”和“}”。例如表达式中包含括号如下: ( ) [ ( ) ( [ ] ) ] { } 1 2 3 4 5 6 7 8 9 10 11 12 从上例可以看出第1和第2个括号匹配,第3和第10个括号匹配,4和5匹配,6和9匹配,7和8匹配,11和12匹配。从中可以看到括号嵌套的的情况是比较复杂的,使用堆栈可以很方便的处理这种括号匹配检验,可以遵循以下规则: 1、 当接收第1个左括号,表示新的一组匹配检查开始;随后如果连续接收到左括号,则不断进堆栈。 2、 当接受第1个右括号,则和最新进栈的左括号进行匹配,表示嵌套中1组括号已经匹配消除 3、 若到最后,括号不能完全匹配,则说明输入的表达式有错 建议使用C++自带的stack对象来实现 stack类使用的参考代码 n包含头文件<stack> : #include <stack> n创建一个堆栈对象s(注意stack是模板类):stack <char> s; //堆栈的数据类型是字符型 n把一个字符ct压入堆栈: s.push(ct); n把栈顶元素弹出:s.pop(); n获取栈顶元素,放入变量c2: c2 = s.top(); n判断堆栈是否空: s.empty(),如果为空则函数返回true,如果不空则返回false 输入

shell入门

混江龙づ霸主 提交于 2020-01-07 20:56:10
前言 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 常见的shell指令 echo命令用于向窗口输出文本。 使用变量:使用一个定义过的变量,只要在变量名前面加上$符号,还可以加上对变量加上花括号{},变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。笔者建议,推荐给所有变量加上花括号,这是个好的编程习惯。 your_name=“qinjx” echo $your_name echo ${your_name} for skill in Ada Coffe Action Java; do echo “I am good at ${skill}Script” done 如果不给skill变量加花括号,写成echo “I am good at $skillScript”,解释器就会把$skillScript当成一个变量(其值为空),代码执行结果就不是我们期望的样子了。 删除变量:使用unset命令删除变量 变量被删除后不能再次使用,unset命令不能删除只读变量 只读变量:使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。 #!/bin/bash

c++相关(类 花括号构造函数的使用、const引用、左值引用和右值引用(不考虑模板))

≡放荡痞女 提交于 2020-01-07 13:22:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> C++11可以用花括号构造函数增加像vector之类的容器初始化便捷性,花括号只能向宽的方向进行转换 新版本类成员初始化的简化: 在新版本中可以用{}初始化默认值为0: const引用:常量引用表示不能通过引用改变绑定对象的值,但是对象的值可以通过别的方式改变。 int a = 10; //常量引用b和a绑定,不能通过b而改变a。 const int &b = a; cout << a << endl; cout << b << endl; //但是可以通过别的方式改变a 右值引用可以改变大小 左值引用转化成右值引用需要明确说明用move 来源: oschina 链接: https://my.oschina.net/hlslml77/blog/3154329

Python学习记录1-print()函数

拟墨画扇 提交于 2020-01-03 16:37:57
1.print()函数的主要功能,就是让计算机显示我们想要显示的内容。也就是通过print()函数告诉计算机:我让你(计算机)显示什么,你就显示什么。比如,在这个项目里,最开始的“欢迎进入员工信息录入系统”就是用print()函数实现的。 字符型 :print('欢迎进入员工信息录入系统') 或者 print("欢迎进入员工信息录入系统") 整型 :print(1) 浮点型 :print(3.14) 2.无引号、单引号和双引号、三引号用法 2.1 无引号 当我们把数字或数字的运算放入print()函数的括号时,括号里不需要加引号。这是因为计算机并不是无条件的执行人类下达的任何命令,当他听不懂我们的命令时,他就会报错。 计算机本身的语言就是由数字构成(计算机最底层的基础语言是二进制哦,是由0和1两个数字组成的),所以计算机可以直接读懂数字,并进行数字运算。当计算机读不懂print()括号里的内容时,就需要借助其他的符号(比如引号)来解释我们的命令。 现在你试试在下面左边的代码框里输入你的年龄:【22】,再在右边的终端框点进运行。(提示:使用print()函数,在括号里直接输入数字22) 在你正式计算之前,你得先了解Python世界的算数运算符不是,这和我们平时在纸上写的运算符号有相同点,也有不同点,下面是我总结的python的运算符,你看完后记得保存。 Python里面的运算优先级