学习小象学院算法课程笔记

字符串

循环左移

将一个字符串循环左移, 要求时间复杂度为O(N), 空间复杂度为O(1).
理论: (A’B’)’ = (BA)’
实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
void reverse(char * str, int from, int to){
while (from < to){
char t = str[from];
str[from ++] = str[to];
str[to --] = t;
}
}

void leftRotate(char * str, int n, int k){
reverse(str, 0, k - 1);
reverse(str, k, n - 1);
reverse(str, 0, n - 1);
}

LCS

最长公共子序列


https://leafflow.top/2023/02/07/algorithm/learn_algorithm/
作者
vollen
发布于
2023年2月7日
许可协议