如果说,让你写一个乘幂运算的函数,你会怎么实现?
easy!那不就是用一个for循环遍历n次就ok了。
显然for循环遍历的方式的时间复杂度为O(N)O(N)O(N),能不能把它优化到log(N)log(N)log(N)呢?
答案是肯定的!
上代码
double quickMul(double x, long long N) {
本文探讨如何使用分治法将乘幂运算的时间复杂度从O(N)优化到O(logN),并提供了相关C++代码,尽管代码在实现过程中存在重复计算的问题。
如果说,让你写一个乘幂运算的函数,你会怎么实现?
easy!那不就是用一个for循环遍历n次就ok了。
显然for循环遍历的方式的时间复杂度为O(N)O(N)O(N),能不能把它优化到log(N)log(N)log(N)呢?
答案是肯定的!
上代码
double quickMul(double x, long long N) {
1059
1903

被折叠的 条评论
为什么被折叠?