2025.12.10 力扣每日一题

3577.统计计算机解锁顺序排列数

困

cpp 复制代码
class Solution {
public:
    int countPermutations(vector<int>& complexity) {
        const int MOD = 1000000007;
        long long ans = 1;// 阶乘初始值为1(0! = 1)
        //第一步:检查核心约束------所有i>0的计算机必须能被0号解锁
        for (int i = 1; i < complexity.size(); i++) {
            // 若i号复杂度 ≤ 0号 → 0号无法解锁i,无有效排列,返回0
            if (complexity[i] <= complexity[0]) {
                return 0;
            }
            // 第二步:计算有效排列数------(n-1)!(阶乘)
            ans = ans * i % MOD;// 计算1×2×...×(n-1) = (n-1)!
            // 每一步取模,避免溢出
        }
        return ans;
    }
};
相关推荐
下一站春风里23 分钟前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
DRobot1 小时前
【机械制图与CAD实战(二十五)】螺纹的表示方法
算法·机械制图
用户老李1 小时前
卡尔曼滤波自学教程 10:无迹卡尔曼滤波(UKF)
算法
深圳市益普科技有限公司2 小时前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法
程序员清风3 小时前
算法题中的边界条件、测试与调试
开发语言·算法·kotlin
炘爚4 小时前
数据结构算法总结
数据结构·python·算法
Dageno_AI4 小时前
ChatGPT 不再引用 Reddit 之后,还值得在 Reddit 上做 AI 可见度吗?
算法
hetao17338374 小时前
2026-10-25 hetao1733837 的刷题记录
c++·算法
Jsundoku5 小时前
第七章 机器学习 -- 其他经典算法
人工智能·算法·机器学习
进击的丸子5 小时前
基于 ArcFace SDK 的跨平台人脸特征值下发、同步以及存储方案
后端·算法·代码规范