1.贝祖定理
ax+by=z 有解当且仅当 z 是 x,y 的最大公约数的倍数。
2.约瑟夫环问题
0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
def lastRemaining(self, n: int, m: int) -> int:
index = 0
for i in range(2, n + 1):
index = (m + index) % i
return index
该方法使用反向推出最后一个数字在整个数字圈的位置。
具体解答:https://blog.csdn.net/u011500062/article/details/72855826
3.优化问题
对于复杂度O(n)的算法,如果想要优化,首先想到的是使用“分治思想”,将复杂度O(n)降为O(lgn)。
常见的分治算法:归并排序、快速排序
4.卡塔兰数
可用于推导n个节点组成的不同结构的二叉数总个数