解题报告Leecode 372. 超级次方——Leecode每日一题系列

Posted 来老铁干了这碗代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解题报告Leecode 372. 超级次方——Leecode每日一题系列相关的知识,希望对你有一定的参考价值。

题目链接:https://leetcode-cn.com/problems/super-pow/

题解汇总:https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/


题目描述

你的任务是计算 ab 对 1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出。

示例 1:
输入:a = 2, b = [3]
输出:8

示例 2:
输入:a = 2, b = [1,0]
输出:1024

示例 3:
输入:a = 1, b = [4,3,3,8,5,2]
输出:1

示例 4:
输入:a = 2147483647, b = [2,0,0]
输出:1198


这道题就是快速幂模板题

快速幂详细解析:https://zhanglong.blog.csdn.net/article/details/108011760

class Solution 
private:
    static const int MOD = 1337;
public:
    static int quickPow(int a, int b) 
        a %= MOD;
        int ans = 1;
        while (b) 
            if (b & 1) 
                ans = ((ans * a) % MOD);
            
            a = ((a * a) % MOD);
            b >>= 1;
        
        return ans;
    
    int superPow(int a, vector<int>& b) 
        if (b.empty()) return 1;
        int p = b.back();
        b.pop_back();
        return quickPow(superPow(a, b), 10) * quickPow(a, p) % MOD;
    
;

以上是关于解题报告Leecode 372. 超级次方——Leecode每日一题系列的主要内容,如果未能解决你的问题,请参考以下文章

文巾解题 372. 超级次方

间接的快速幂——372. 超级次方

LeetCode 372 超级次方[快速幂 递归] HERODING的LeetCode之路

372. 超级次方

leetcode372——超级次方

leetcode372——超级次方