经典字符串匹配 BF暴力匹配算法 暴力匹配,即Brute Force,简称BF算法。BF算法是一种简单朴素的模式匹配算法,常用于在一个主串S内查找一个子串T的出现位置。 算法步骤 假设有主串S与子串P,主串S的长度为N,子串T的长度为M。 将S和T左对齐,并比较其第一个元素。 若匹配,则继续比较下一个元素,一直到第M个元素。 若不匹配则T向右移动一个位置。 接着根据步骤3和4进行比较,直到匹配到或者T移动了N-M且仍未匹配到。 代码实现 Python实现 实现1: 1def BFMatch(s, p): 2 if len(s) < len(p): 3 return -1 4 i, j = 0, 0 5 # 匹配阶段 6 while...

临时变量 通过建立一个临时变量来实现两数交换: 1def swap(x, y): 2 print(x, y) 3 tmp = x 4 x = y 5 y = tmp 6 print(x, y) 7 return x, y 8 9if __name__ == '__main__': 10 swap(1, 2) 缺点: 需要消耗额外的内存。 优点: 不限制类型,大多数类型都能使用该操作。 加减交换 通过加减法实现: 1def swap(x, y): 2 print(x, y) 3 x = x + y 4 y = x - y 5 x = x - y 6 print(x, y) 7 return x, y 8 9if __name__...

Python 语法 注释 Python 的注释风格: 1# 行注释 2 3''' 4块注释1 5''' 6 7""" 8块注释2 9""" 注释中的内容将不会被执行。 标识符 首字母必须是大写或小写的英文字母或者下划线 _。 其他部分由大写或小写的英文字母、数字和下划线组成。 大小写敏感(区分大小写)。 Python3 中允许使用非 ASCII 标识符,即中文也可作为标识符: 1>>> 变量 = 5 2>>> print(变量) 35 关键字 Python 关键字(keyword)不能作为标识符使用,关键字又称保留字。 使用 keyword 模块输出 Python 的所有关键字: 1>>> import keyword 2>>>...

正则表达式语法 —— Python 正则表达式是一个特殊的字符序列,能方便地检查一个字符串是否与某种模式匹配。 正则表达式可以拼接。 正则表达式可以包含普通或者特殊字符。 绝大部分普通字符,是最简单的正则表达式。它们就匹配自身。 特殊字符既可以表示它的普通含义, 也可以影响它旁边的正则表达式的解释。 重复修饰符(*、+、?、{m,n}, 等)不能直接嵌套。避免了非贪婪后缀 ? 修饰符,和其他实现中的修饰符产生的多义性。要应用一个内层重复嵌套,可以使用括号。 特殊字符 序列 说明 . (点)在默认模式,匹配除了换行的任意字符。 如果指定了标签 DOTALL,它将匹配包括换行符的任意字符。 \ 转义特殊字符(允许你匹配...

假设有三个 bat 程序需要后台运行(称为 A.bat、B.bat、C.bat): 1Set ws = CreateObject("Wscript.Shell") 2ws.run "cmd /c A.bat",0 3ws.run "cmd /c B.bat",0 4ws.run "cmd /c C.bat",0

冒泡排序 冒泡排序(Bubble Sort)是一种简单直观的排序算法。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 时间复杂度:$O(n^2)$ 算法步骤 假设一个序列长度为n,m(m≤n)是已排序完成的在末尾的数。 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。对比结束后,最后的元素会是最大的数。 对接下来n-m个未排序的数重复步骤1和2,直到没有任何一对数字需要比较。 第一趟对序列中所有n个数进行比对,第二趟对序列中n-1个未排序完成的数进行比对,以此类推。每次比对的数为n-m。 动画演示: 代码实现 Python实现 1def...

基本概念 SQL(Structured Query Language,发音为 sequal)是一种专门用来与数据库沟通的语言。通过 SQL,用户可以对数据库进行各种操作。 标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSISQL。 数据库 数据库(database)是一个用于保存有组织的数据的容器或数据集合。 每个数据库都有唯一的标识符。 表 表(table)是某种特定类型数据的结构化清单,用于存储某种特定类型的数据。 在同一个数据库中的每个表都有一个唯一的标识符来标识自己。因此,在同个数据库中,不能拥有两个名称相同的表,但在不同的数据库中可以使用相同的表名。 模式 模式(schema)是一种关于数据库和表的布局及特性...