基础算法
VariableX
这个作者很懒,什么都没留下…
展开
-
【面试相关】python实现快速幂取余算法详解
假设我们要计算 2102^{10}210 对1000取模的结果,可以很简单的得到24。但是如果要求 210002^{1000}21000 对1000取模的结果,常规方法就行不通了,因为常规的变量无法容纳这么大的数值。为此,需要借助数学技巧求解。循环求余法首先引入一个好理解的取模运算公式:(a×b)%p=(a%p×b%p)%p(a \times b) \% p = (a \% p \times b \% p) \% p(a×b)%p=(a%p×b%p)%p举个例子:a=9,b=9(9×9)%6=原创 2020-08-08 11:17:50 · 1223 阅读 · 0 评论 -
【剑指offer 07】用迭代和递归两种方法重构二叉树(python实现)
本文讲解一个经典的面试题,使用 python 通过迭代和递归两种方法重构二叉树。题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出:前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <= 5000。递归方法二叉树的前序遍原创 2020-07-29 11:31:40 · 348 阅读 · 0 评论