刷题总结——字符串KMP算法分析与应用 刷题总结——字符串的KMP算法分析与应用 概述 KMP的经典思想就是:当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。 如何记录已经匹配的文本内容,是KMP的重点,也是next数组肩负的重任 next数组:前缀表(prefix table) 前缀表是用来回退的,它记录了模式串(与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配 记录 2021-07-28 刷题笔记 LeetCode刷题 C++
刷题总结——多指针法 刷题总结——多指针法 概述 双指针法基本都是应用在数组,字符串与链表的题目上 一般题目要求空间复杂度为O(1),但要对数组等进行操作,可以考虑使用该方法 思路 一般常用的双指针法: 快慢双指针:同一方向移动,但是速度不同 前后双指针:不同方向移动 工作指针+标识指针:标识指针的移动取决于工作指针 特殊情况下也有多指针法,需要具体问题具体分析 题目练习 数组——移除元素 工作 2021-07-28 刷题笔记 LeetCode刷题 C++
刷题总结——多数想加(减)等于特定值 刷题总结——多数相加(减)等于特定值 概述 存在一类题目,给你一些数组(可能是一个,也可能是多个),给你一个target,要求你从给定的数据中,选择一些数相加(减)等于target 思路 这类算是排列组合题。如果暴力求解,就直接多重循环将数字排列组合验证即可(一般会超时) 但是考虑到已知target,我们可以先排列组合部分获得值,然后根据结果去找接下来需要应该要获得的值 重点就是如何确 2021-07-28 刷题笔记 LeetCode刷题 C++
刷题记录——LeetCode 刷题记录——LeetCode 数组 二分法 适用情况 在一组有序数字中,进行查找操作 注意 根据不同的情况,要对while的循环条件和里面的if选择条件进行修改 基本格式 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556```* 2021-07-28 刷题记录 LeetCode刷题 C++
3.远程仓库 远程仓库 配置SSH 本地Git仓库和GitHub仓库之间的传输是通过SSH加密的、 第1步:创建SSH Key。打开Shell(Windows下打开Git Bash),创建SSH Key: 12345cd ~/.ssh //检查本机是否有ssh,如果提示没有则需要创建ssh-keygen -t rsa -C "youremail@example.com" //创 2021-07-27 Git学习 Github
2.本地仓库 本地仓库 仓库版本控制 git status:查看本地仓库状态 git diff:比较工作区和暂存区修改 git diff head:比较工作区和暂存区快照的差异 git diff --cached head:比较暂存区和最近一次commit后的修改 git log:显示从最近开始的提交过的版本信息(包含多种选项,具体情况使用) - n:限制数量 -p:展开显示每次提交内容的 2021-07-27 Git学习 Github
1.Git简介 Git简介 Git起源 在2002年以前,世界各地的志愿者把源代码文件通过==diff[1]==的方式发给Linus,然后由Linus本人通过手工方式合并代码 到了2002年,Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统 2005,Linux社区牛人试图破解BitKeeper 2021-07-27 Git学习 Github