Merge pull request #1022 from bqlin/master

优化排版
This commit is contained in:
程序员Carl
2022-01-22 13:26:12 +08:00
committed by GitHub
5 changed files with 14 additions and 14 deletions

View File

@ -42,7 +42,7 @@
![27.移除元素-暴力解法](https://tva1.sinaimg.cn/large/008eGmZEly1gntrc7x9tjg30du09m1ky.gif) ![27.移除元素-暴力解法](https://tva1.sinaimg.cn/large/008eGmZEly1gntrc7x9tjg30du09m1ky.gif)
很明显暴力解法的时间复杂度是O(n^2)这道题目暴力解法在leetcode上是可以过的。 很明显暴力解法的时间复杂度是$O(n^2)$这道题目暴力解法在leetcode上是可以过的。
代码如下: 代码如下:

View File

@ -259,7 +259,7 @@ void getNext(int* next, const string& s)
然后还要对next数组进行初始化赋值如下 然后还要对next数组进行初始化赋值如下
``` ```cpp
int j = -1; int j = -1;
next[0] = j; next[0] = j;
``` ```
@ -278,7 +278,7 @@ next[i] 表示 i包括i之前最长相等的前后缀长度其实就是
所以遍历模式串s的循环下标i 要从 1开始代码如下 所以遍历模式串s的循环下标i 要从 1开始代码如下
``` ```cpp
for (int i = 1; i < s.size(); i++) { for (int i = 1; i < s.size(); i++) {
``` ```
@ -292,7 +292,7 @@ next[j]就是记录着j包括j之前的子串的相同前后缀的长度
所以,处理前后缀不相同的情况代码如下: 所以,处理前后缀不相同的情况代码如下:
``` ```cpp
while (j >= 0 && s[i] != s[j + 1]) { // 前后缀不相同了 while (j >= 0 && s[i] != s[j + 1]) { // 前后缀不相同了
    j = next[j]; // 向前回退     j = next[j]; // 向前回退
} }
@ -346,7 +346,7 @@ void getNext(int* next, const string& s){
i就从0开始遍历文本串代码如下 i就从0开始遍历文本串代码如下
``` ```cpp
for (int i = 0; i < s.size(); i++)  for (int i = 0; i < s.size(); i++) 
``` ```
@ -356,7 +356,7 @@ for (int i = 0; i < s.size(); i++) 
代码如下: 代码如下:
``` ```cpp
while(j >= 0 && s[i] != t[j + 1]) { while(j >= 0 && s[i] != t[j + 1]) {
    j = next[j];     j = next[j];
} }
@ -364,7 +364,7 @@ while(j >= 0 && s[i] != t[j + 1]) {
如果 s[i] 与 t[j + 1] 相同那么i 和 j 同时向后移动, 代码如下: 如果 s[i] 与 t[j + 1] 相同那么i 和 j 同时向后移动, 代码如下:
``` ```cpp
if (s[i] == t[j + 1]) { if (s[i] == t[j + 1]) {
    j++; // i的增加在for循环里     j++; // i的增加在for循环里
} }
@ -376,7 +376,7 @@ if (s[i] == t[j + 1]) {
代码如下: 代码如下:
``` ```cpp
if (j == (t.size() - 1) ) { if (j == (t.size() - 1) ) {
    return (i - t.size() + 1);     return (i - t.size() + 1);
} }

View File

@ -46,7 +46,7 @@
模拟的队列执行语句如下: 模拟的队列执行语句如下:
``` ```cpp
queue.push(1); queue.push(1);
queue.push(2); queue.push(2);
queue.pop(); // 注意弹出的操作 queue.pop(); // 注意弹出的操作

View File

@ -21,7 +21,7 @@ empty() -- 返回队列是否为空。
示例: 示例:
``` ```cpp
MyQueue queue = new MyQueue(); MyQueue queue = new MyQueue();
queue.push(1); queue.push(1);
queue.push(2); queue.push(2);

View File

@ -67,7 +67,7 @@ deque是一个双向队列只要封住一段只开通另一端就可以实
我们也可以指定vector为栈的底层实现初始化语句如下 我们也可以指定vector为栈的底层实现初始化语句如下
``` ```cpp
std::stack<int, std::vector<int> > third; // 使用vector为底层容器的栈 std::stack<int, std::vector<int> > third; // 使用vector为底层容器的栈
``` ```
@ -77,7 +77,7 @@ std::stack<int, std::vector<int> > third; // 使用vector为底层容器的栈
也可以指定list 为起底层实现初始化queue的语句如下 也可以指定list 为起底层实现初始化queue的语句如下
``` ```cpp
std::queue<int, std::list<int>> third; // 定义以list为底层容器的队列 std::queue<int, std::list<int>> third; // 定义以list为底层容器的队列
``` ```