括号

XYNUOJ1792: 括号配对问题

走远了吗. 提交于 2019-11-27 07:19:29
1792: 括号配对问题 时间限制: 3 Sec 内存限制: 64 MB 提交: 211 解决: 94 您该题的状态:已完成 [提交][状态][讨论版] 题目描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符 输出 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No 样例输入 3 [(]) (]) ([ ]) 样例输出 No No Yes 思路: 先用字符数组来存数据,然后利用栈先入后出的特性来判断是否匹配。 如果是’[‘或’{‘,推入栈中,如果是’]’,’}’,来与栈顶判断,若匹配则推出,反之break。 注意设置标记,若第一个就是’]’,’}’,则此字符肯定不对。就不用判断接下来的了直接break。 如果经过判断不匹配,也打上标记break。 因为栈是再循环之外定义的,需要把栈清空供下次使用。 #include <iostream> #include <cstring> #include <stack> using namespace std; int main() { int n,i

python中括号知识点

廉价感情. 提交于 2019-11-27 07:09:44
Python语言中括号分为几个类型,常见的三个圆括号是圆括号()、中间圆括号[]和大括号。它的函数也不同,代表不同的Python基本内置数据类型。 python括号 python()中的括号:表示tuple-tuple数据类型,tuple是不可变的序列。 浴室柜专卖 创建它的方法非常简单。大多数时候,它被括在括号中。 “>tup=1,2,3) “TUP” (1,2,3) > >()空元组 () > >>55、65507; (55) python tuple遍历排序操作方法对tuple操作有更详细的说明。 python[]中的中括号表示列表列表数据类型,列表是变量序列。其创作方法简单独特,具体如下: >list('python') ['P'、'Y'、'T'、'H'、'O'、'N'] 如果要以与元组相同的方式创建空列表或值列表,只需使用不同的括号。pyhton list操作更适合初学者理解list是什么。 python括号花括号:表示dict字典数据类型,字典由键对值组组成。冒号“:”分隔键和值,逗号“,”分隔组。创建大括号的方法如下: dic=jon':'boy'、'lili':'girl' > DIC _lili':'girl'、'jon':'boy' > 字典的具体操作方法可以看到python映射类型的字典dict操作定义。 来源: https://www.cnblogs.com

正则表达式30分钟教程(转)

泪湿孤枕 提交于 2019-11-27 04:19:25
来园子之前写的一篇 正则表达式教程 ,部分翻译自codeproject的 The 30 Minute Regex Tutorial 。 由于评论里有过长的URL,所以本页排版比较混乱,推荐你 到原处查看 ,看完了如果有问题,再到这里来提出. 一些要说的话: 如果你没有正则表达式的基础,请跟着教程“一步步来”。请不要大概地扫两眼就说看不懂——以这种态度我写成什么样你也看不懂。当我告诉你这是“30分钟入门教程”时,请不要试图在30秒内入门。 事实是,我身边有个才接触电脑,对操作都不是很熟练的人通过自己学习这篇教程,最后都能在文章采集系统中使用正则表达式完成任务。而且,他写的表达式中,还使用了“零宽断言”等“高级”技术。 所以,如果你能具体地说明你的问题,我很愿意帮助你。但是如果你概括地说看不懂,那不是我的问题。 欢迎转载,但请声明作者以及来源。 正则表达式30分钟入门教程 版本:v2.31 (2009-4-11) 作者: deerchao 转载请注明 来源 目录 跳过目录 本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 网上的资源及本文参考文献 更新纪录 本文目标

Code Style

只谈情不闲聊 提交于 2019-11-27 03:34:30
参考GNAQ学长大人的Code Style Rust式代码风格: 预编译指令: 顺序: pragma include define undef 缩进: define undef 继承上层缩进,其余不缩进。 写法: include 中能使用 < > 的尽量不要使用 " " ; include 中不使用空格。 define undef 中允许被定义的宏为全部大写或全部小写,其余情况不允许使用大写。 限制: 不使用 #if #else #elif #endif #ifdef #ifndef #endif #line #error 以及其他预编译命令。 命名空间: 写法: 总是使用 using namespace std 或 导入 using std::cin using std::cout using std::endl using std::min using std::max 等在代码出现过的 std namespace 中的函数。 命名空间中可以使用 #define ,但必须 在结尾处 #undef ,且 #define 指令应置于命名空间的开头处。 任何大型数据结构使用其大写简写为名称的单独 namespace , 如 namespace KDT namespace SGT namespace TRP, 并总是在命名空间的结尾处 } 后缀一分号 ';' ,例如:

PHP 的一些开发规范

做~自己de王妃 提交于 2019-11-26 22:30:48
长篇慎入 分以下几点说明 一些编码的经验 PSR-1 PSR-2 PSR-3 PSR-4 一些编码的经验 变量命名 不用拼音 驼峰或下划线风格要一致 单词要有意义 不用关键字 常量全大写用下划线连接 代码注释 尽量让代码可读性提高,减少代码上的注释 函数头部可以描述参数和返回值及功能的注释 算法类代码一定要加注释说明 代码备份 使用 github, 本地留一份 编码统一 PHP编码 == HTML编码 == 数据库编码 == UTF-8 header("Content-type: text/html; charset=utf-8"); 路径常量 所有路径和URL尽量使用常量进行存放 不写结束标记 ?> <?php //code 错误记录 开发环境开启错误调试 error_reporting(7); ini_set('display_errors', true); E_ERROR E_WARNING E_NOTICE 生产环境写入日志中 千万别用 @ 符号屏蔽错误 变量使用 使用前进行初始化 不规范 array_push($arr, 'test'); 规范 $arr = []; array_push($arr, 'test'); 键值要用引号围起来 不规范 echo $_GET[name]; 规范 echo $_GET['name']; 等式判断尽量用全等 echo $number

SQL Labs刷题补坑记录(less54-less65)

懵懂的女人 提交于 2019-11-26 19:19:05
LESS54: 只有10次尝试,dump处secret key 直接union 查就可以,括号为单引号闭合 LESS55: 尝试出来闭合的方式为)括号,后面操作与54相同 LESS56: 尝试出来括号闭合方式为'),其它与54相同 LESS57: 括号闭合方式为"双引号,其他与前面相同 LESS58: 单引号报错,出错位置在limit,那么直接报错注入,后面就是常规的查表查字段操作 LESS59: 尝试单引号报错了,从报错来看应该不需要单引号,所以常规报错注入 LESS60: 添加双引号报错了,此时由报错推测括号的闭合方式为”),所以常规报错注入即可 LESS61: 当尝试单引号时发现页面报错了,此时通过报错的回显推测括号闭合方式为')),然后尝试 ')) and 0++ ')) and 1--+ 回显两种逻辑,因此闭合正确,直接尝试报错注入即可 LESS62: 尝试没有报错,不能报错注入,所以尝试闭合括号 1' and '1 1' and '0 两种逻辑,因此可以注入,盲注即可 但是sql语句实际上是这样闭合的,那么注入以后形式也是正确的,这样也只会返回1或者0两种逻辑,可以进行盲注 LESS63: 貌似跟62一样,单引号闭合, 尝试 1' and '1 1' and '0 两种逻辑,因此盲注即可 LESS64: 盲注,不需要闭合括号 LESS65: 闭合方式为双引号

华为笔试题:带括号的逻辑运算

我是研究僧i 提交于 2019-11-26 16:44:55
逻辑运算优先级:! > & > | 例如: 1|(1&0)=1 1&0|0&1=0 !0&1|0=1 ((!0&1))|0=1 思路:用栈来维护数字、运算符和括号。先去括号内的子表达式,然后遍历一遍把!都消掉,然后用栈先把&都消掉,最后计算|运算。 #include<iostream> #include<string> #include<sstream> #include<stack> #include<algorithm> using namespace std; int calc(string s) { char c;//符号 int a, b, val;//左操作数、右操作数、计算结果 stack<int> num;//存数字 stack<char> op;//存操作符 //不带括号的表达式中,!优先级最高 for (int i = 0; i < s.length() - 1; i++) { if (s[i] == '!') { if (s[i + 1] == '1') { s[i + 1] = '0'; } else { s[i + 1] = '1'; } s.erase(s.begin() + i);//把'!'去掉 } } //将第一个数字压入数字栈 stringstream ss(s); ss >> val; num.push(val); //每次读取一个符号和数字

Qt--计算器的实现

谁说胖子不能爱 提交于 2019-11-26 15:58:45
一.计算机程序界面分析 从效果图我们可以得知 1.QLineEdit用于接受用户输入 2.QLineEdit能够获取用户输入的字符串 3.QLineEdit是功能性组件,需要父组件作为容器 4.QLineEdit能够在父组件中进行定位 该计算器的坐标及位置如图所示 界面的代码实现 #include "Widget.h" #include <QApplication> #include <QPushButton> #include <QLineEdit> int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget* w = new QWidget(NULL, Qt::WindowCloseButtonHint); w->setWindowTitle("Calculator"); QLineEdit* le = new QLineEdit(w); QPushButton* button[20] = {0}; const char* btnText[20] = {//数字键与功能键 "7", "8", "9", "+", "(", "4", "5", "6", "-", ")", "1", "2", "3", "*", "<-", "0", ".", "=", "/", "C", }; int ret =

寻找的常用webstorm快捷键

六月ゝ 毕业季﹏ 提交于 2019-11-26 15:53:15
1 1. 必备快捷键 2 Ctrl+/:注释当前行 3 Ctrl+Shift+/:当前位置插入注释 4 Ctrl+Alt+/:块注释,并Focus到首行,写注释说明用的 5 Ctrl+Shift+A:选择当前标签前后,修改标签用的 6 F11:全屏 7 Shift+F11:全屏免打扰模式,只编辑当前文件 8 Alt+F3:选择所有相同的词 9 Alt+.:闭合标签 10 Alt+Shift+数字:分屏显示 11 Alt+数字:切换打开第N个文件 12 Shift+右键拖动:光标多不,用来更改或插入列内容 13 鼠标的前进后退键可切换Tab文件 14 按 Ctrl,依次点击或选取,可需要编辑的多个位置 15 按 Ctrl+Shift+上下键,可替换行 16 Ctrl+Shift+P:打开命令面板 17 Ctrl+P:搜索项目中的文件 18 Ctrl+G:跳转到第几行 19 Ctrl+W:关闭当前打开文件 20 Ctrl+Shift+W:关闭所有打开文件 21 Ctrl+Shift+V:粘贴并格式化 22 Ctrl+D:选择单词,重复可增加选择下一个相同的单词 23 Ctrl+L:选择行,重复可依次增加选择下一行 24 Ctrl+Shift+L:选择多行 25 Ctrl+Shift+Enter:在当前行前插入新行 26 Ctrl+X:删除当前行 27 Ctrl+M:跳转到对应括号 28

SQL Labs刷题补坑记录(less31-less53)

南楼画角 提交于 2019-11-26 13:28:25
LESS31: 双引号直接报错,那么肯定可以报错注入,并且也过滤了一些东西,^异或没有过滤,异或真香 -1" and (if(length(database())=8,1,0)) and "1 这个payload可以 LESS32: 发现'被转移了,尝试宽字节绕过,\反斜杠是%5c,前面拼接成%df就是一个汉字,要求mysql的字符集是GBK,即两个字符为一个汉字 LESS33: 还是宽字节和32一样: -1%df%27%20or%20exp(~(select%20*%20from%20(select%20user())a))--+ 可以看到id参数此时经过urlencode以后将'单引号编码,此时还原时%df%27就会合并 在mysqlquery的时候设置编码方式为gbk才导致了漏洞,应该设置为binary LESS34: 这道题也是宽字节注入,不过这个注入点在post参数上,如果我们直接在post里面输入%df' or 1#那么此时不行, 实际上将%百分号也进行了编码,因为表单提交会将数据编码一次,此时传递过去解码的时候无法吃掉反斜杠,所以必须绕过浏览器端的urlencode,所以 只要去掉对%的编码即可,此时就能吃掉反斜杠 LESS35: 这道题也是有转义,不过不需要引号就可以注入 LESS36: 将 utf-8 转换为 utf-16 或 utf-32,例如将 ‘ 转为