news 2026/10/18 14:19:54

元宝 LeetCode 372. 超级次方 Java实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
元宝 LeetCode 372. 超级次方 Java实现

LeetCode 372 超级次方(Java 可 AC 版)

核心公式(利用模运算性质):

    “a^b % 1337” 不能直接算 b 太大

    • 把 b 当成十进制数组从高位到低位处理:
      “result = (result^10 * a^b[i]) % 1337”
    • 或者从低位到高位:
      “ans = ans * a^b[i] % MOD; a = a^10 % MOD;”

    标准解法:快速幂 + 从后往前算

    class Solution {
    private static final int MOD = 1337;

    public int superPow(int a, int[] b) { int ans = 1; a %= MOD; for (int i = b.length - 1; i >= 0; i--) { // 当前位作为指数:a^b[i] ans = (int)((long) ans * qpow(a, b[i]) % MOD); // 下一位是十位,所以 a 升为 a^10 a = qpow(a, 10); } return ans; } // 快速幂:a^n % MOD private int qpow(int a, int n) { long res = 1; long base = a % MOD; while (n > 0) { if ((n & 1) == 1) { res = res * base % MOD; } base = base * base % MOD; n >>= 1; } return (int) res; }

    }

    核心思路

    以
    “b = [1,2,3]” 为例:

    a^123 = a^120 * a^3
    = (a12)10 * a^3
    = ((a1)10 * a2)10 * a^3

    从数组尾部开始:

    1. 先算
      “a^b[末位]” 乘进结果
    2. 再把底数变成
      “a^10”,相当于进位到十位
    3. 重复直到处理完整个数组

    易错点

    • 中间乘法溢出:
      “ans * qpow(…)” 可能超
      “int”,必须用
      “long” 强转再
      “% MOD”

    “a” 可能很大,进来先
    “a %= MOD”

    • 别用
      “Math.pow”:返回 double 且不算模,精度会炸
    • 别试图把数组拼成
      “long/BigInteger” 再算:题目允许长度 2000,超出数值类型范围,必须逐位处理
    • 快速幂里
      “base” 也要先取模

    复杂度

    • 时间:O(n * log 10) ≈ O(n),n 为 b 长度,每位最多快速幂 log₂(10) 次乘法
    • 空间:O(1)

    要不要我再给你一版「从前往后算(result = result^10 * a^b[i])」的等价写法,或者补一下递归分治版对照看?

    版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
    网站建设 2026/10/18 14:19:49

    邮政编码全国数据精确到县市区:多对多映射与落地实践

    简介:这份全国邮政编码数据面向从事地理定位、物流配送、市场营销及数据分析的开发者与研究者,解决按行政区划精确查询邮编的问题。数据细化到县市区层级,覆盖省级、地级市与县级行政区的六位编码,可用于导航寻址、电商配送路径规…

    作者头像 李华
    网站建设 2026/10/18 14:19:07

    ACPI!PciConfigSpaceHandler调用链深度解析:从内核调试到PCI配置空间访问

    1. 先把这个栈看明白:它不是你日常能见到的“设备驱动调用链”如果你手头正抓着一个蓝屏转储,或者在某台机器上开着内核调试器,!analyze -v跑完之后在调用栈里看到这样一串符号:ACPI!PciConfigSpaceHandler ACPI!PciConfigSpaceHa…

    作者头像 李华
    网站建设 2026/10/18 14:18:09

    合同管理数字化革新:从审批、签章到履约的完整实践指南

    1. 从一团乱麻到井井有条:企业合同管理的真实痛点做了这么多年企业数字化相关的工作,我接触过不少公司,从几十人的创业团队到上千人的集团都有。说实话,几乎所有企业的合同管理都处在一种“原始社会”的状态——合同文件散落在各个…

    作者头像 李华
    网站建设 2026/10/18 14:17:36

    AI辅助学术论文写作全流程:7款工具从选题到查重实战拆解

    帮人改论文这件事干得多了,会发现一个规律:大部分初稿的问题,根本不在“知识不够”,而在“表达没到位”。选题方向有了,资料也查了一大堆,落笔时却像挤牙膏,一句一句往外蹦;好不容易…

    作者头像 李华
    网站建设 2026/10/18 14:16:48

    C++通过WPS COM自动化读取Excel实战:从环境配置到避坑指南

    简介:这份资源面向在Windows平台下使用C进行桌面开发的程序员,聚焦于通过WPS Office接口读取XLSX表格这一常见需求。内容基于VS2010的MFC框架,演示如何加载WPS动态库、获取接口函数指针、打开工作簿并遍历工作表与单元格,最终将数…

    作者头像 李华