2024.3.20力扣每日一题——数组元素的最小非零乘积

2024.3.20

题目来源

力扣每日一题;题序:1969

我的题解

方法一 贪心

采用贪心,使得最终的序列应该是满足除了二进制位全为1的 2 p − 1 2^p-1 2p−1之外,其余的首尾两两配对进行交换,最终使得半数为1,半数为 2 p − 1 2^{p-1} 2p−1.
时间复杂度 :O(n)
空间复杂度:O(1)

java 复制代码
public int minNonZeroProduct(int p) {
    if (p == 1) {
        return 1;
    }
    long mod = 1000000007;
    long x=fastPow(2,p,mod)-1;
    long y = (long) 1 << (p - 1);
    long t=fastPow(x-1,y-1,mod);
    t=t*x%mod;
    return (int)t;
}
public long fastPow(long x, long n, long mod) {
    long res = 1;
    for (; n != 0; n >>= 1) {
        if ((n & 1) != 0) {
            res = res * x % mod;
        }
        x = x * x % mod;
    }
    return res;
}

有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~

相关推荐
彦为君5 分钟前
算法思维与经典智力题
java·前端·redis·算法
翔云 OCR API6 分钟前
慧视扫描王-财务少加班
java·自动化
雨辰AI13 分钟前
生产级实战:人大金仓 V9 标准化运维手册(日常巡检 + 监控告警 + 应急处置)
java·运维·数据库·后端
智能优化与强化学习15 分钟前
Gym(Gymnasium)仿真环境详解(二):环境简介、入门算法、调参要点、核心挑战
算法·强化学习·gym·零基础入门·算法评估
我是一颗柠檬18 分钟前
【Java项目技术亮点】覆盖索引与索引下推优化
android·java·开发语言
云道轩20 分钟前
比较IBM Transformation Advisor 和WebSphere Application Server Migration Toolkit
java·jakarta ee·open liberty·应用迁移
mxwin26 分钟前
Unity Shader exp 函数的算法与渲染应用
算法·unity·游戏引擎·shader
2601_9624408430 分钟前
计算机毕业设计之健身房管理系统的设计与实现
java·开发语言·课程设计·旅游·宠物
TeamDev31 分钟前
JxBrowser 9.3.0 版本发布啦!
java·后端·c#·混合应用·jxbrowser·浏览器控件·异步媒体设备
“码”力全开34 分钟前
AI视频分析误报优化完整流程
算法·架构·边缘计算