Leetcode—2963.统计好分割方案的数目【困难】

2023-12-13 07:03:33

2023每日刷题(五十七)

Leetcode—2963.统计好分割方案的数目

在这里插入图片描述

算法思想

参考灵神思路
在这里插入图片描述

实现代码

class Solution {
public:
    long long mod = 1e9+7;
    long long pow(long long x, int cnt) {
        if(cnt == 0) {
            return 1;
        }
        if(cnt == 1) {
            return x % mod;
        }
        long long res = pow(x, cnt / 2); 
        if(cnt % 2) {
            return res * res * x % mod;
        } 
        return res * res % mod; 
    }

    int numberOfGoodPartitions(vector<int>& nums) {
        unordered_map<int, int> dict;
        
        for(int i = 0; i < nums.size(); i++) {
            dict[nums[i]] = i;
        }
        int maxR = 0, m = 0;
        for(int i = 0; i < nums.size(); i++) {
            maxR = max(maxR, dict[nums[i]]);
            if(maxR == i) {
                m++;
            }
        }
        return pow(2, m-1);
    }
};

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

文章来源:https://blog.csdn.net/qq_44631615/article/details/134957900
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。