当前位置: 首页 > news >正文

Leetcode 2963. Count the Number of Good Partitions

  • Leetcode 2963. Count the Number of Good Partitions
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:2963. Count the Number of Good Partitions

1. 解题思路

这一题根据题意,显然我们可以将其先分为 n n n个原子partition,确保任意两个partition之间都不存在相同的元素,且每一个partition都不可再进一步切分。

此时,我们的答案总数就是 2 n − 1 2^{n-1} 2n1

因此,我们剩下的问题就是如何切分最小的原子partition了,而这个用一个滑动窗可即可快速得到,也没啥好多说的了。

2. 代码实现

给出python代码实现如下:

class Solution:def numberOfGoodPartitions(self, nums: List[int]) -> int:MOD = 10**9+7locs = defaultdict(list)for i, x in enumerate(nums):locs[x].append(i)cnt = 0max_loc = 0for i, x in enumerate(nums):if i > max_loc:cnt += 1max_loc = locs[x][-1]else:max_loc = max(max_loc, locs[x][-1])cnt += 1ans = pow(2, cnt-1, mod=MOD)return ans

提交代码评测得到:耗时912ms,占用内存45.1MB。

http://www.lryc.cn/news/257418.html

相关文章:

  • C语言动态内存经典笔试题分析
  • 截断正态分布stats.truncnorm()X.rvs(10000)
  • 第59天:django学习(八)
  • 举例说明自然语言处理(NLP)技术。
  • echarts地图marker自定义图标并添加点击事件
  • C盘瘦身,C盘清理
  • STM32F103
  • Unity使用打成图集的Sprite作为模型贴图使用的问题
  • el-select赋值对象是对象时,出现赋值与展示不一致问题
  • 在 Node-RED 中引入 ECharts 实现数据可视化
  • docker资源限制
  • 探索HarmonyOS_开发软件安装
  • CSS中控制元素水平布局的七个属性
  • YOLOv8改进 | 2023检测头篇 | 利用AFPN改进检测头适配YOLOv8版(全网独家创新)
  • 测试经理的职责是什么?
  • LinuxBasicsForHackers笔记 -- BASH 脚本
  • 定时任务特辑 | Quartz、xxl-job、elastic-job、Cron四个定时任务框架对比,和Spring Boot集成实战
  • 【面试经典150 | 二叉树】对称二叉树
  • 使用Git进行版本控制
  • 专业课145+总分440+东南大学920考研专业基础综合信号与系统数字电路经验分享
  • Leetcode每日一题
  • USB连接器
  • 软件工程之需求分析
  • URL提示不安全
  • JavaBean是什么
  • 202309-2
  • 数字图像处理(实践篇)二十 人脸特征提取
  • Python自动化:selenium常用方法总结
  • 『开源资讯』JimuReport积木报表 v1.6.6 版本发布—免费报表工具
  • 每天五分钟计算机视觉:使用1*1卷积层来改变输入层的通道数量