实现a的b次方的函数.但是给出的b是超级巨大的,而且是用数组保存着每一位的.
这个题是50. Pow(x n)open in new window的拓展题,都是求幂的问题,但是这个题由于数值大,需要模1337,对于模什么数一般都是瞎选的,不用考虑这个题为什么模这个数.
我觉得这个题的难点在于,如何求数组表示的超级大的数字b次幂.原来是求幂也可以做展开,比如求223,相当于求(22)^10 * (2^3).也就是说把前面以求的结果求一次10次幂,然后再去求后面的幂.
注意这里每次计算的结果都要%1337,保留后面的部分.前面被模掉的部分对结果不影响的,所以不用顾虑太多,直接求模.
时间复杂度是O(N),空间复杂度是O(1).N是b的长度.