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;
    }
};
相关推荐
(●—●)橘子……4 小时前
3643.垂直翻转子矩阵 练习理解
笔记·python·学习·算法·leetcode·矩阵
立志成为大牛的小牛5 小时前
数据结构——五十七、插入排序(王道408)
数据结构·笔记·程序人生·考研·算法
兩尛5 小时前
猴子爬山od
算法·华为od
亭上秋和景清5 小时前
计算器回调函数
c语言·数据结构·算法
青山的青衫5 小时前
【优先级队列(堆)+排序】LeetCode hot100+面试高频
算法·leetcode·面试
第二只羽毛5 小时前
基于Deep Web爬虫的当当网图书信息采集
大数据·开发语言·前端·爬虫·算法
Ayanami_Reii5 小时前
详解Splay平衡树
数据结构·算法·线段树·主席树·持久化线段树
前端小白在前进5 小时前
★力扣刷题:LRU缓存
spring·leetcode·缓存
JiaJZhong5 小时前
560. 和为 K 的子数组
数据结构·算法