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

东莞网站制作方案定制专业做网站建设的公司

东莞网站制作方案定制,专业做网站建设的公司,温州建设集团官方网站,linux软件开发[LeetCode周赛复盘] 第 112场双周赛20230903 一、本周周赛总结2839. 判断通过操作能否让字符串相等 I1. 题目描述2. 思路分析3. 代码实现 2840. 判断通过操作能否让字符串相等 II1. 题目描述2. 思路分析3. 代码实现 2841. 几乎唯一子数组的最大和1. 题目描述2. 思路分析3. 代码…

[LeetCode周赛复盘] 第 112场双周赛20230903

    • 一、本周周赛总结
    • 2839. 判断通过操作能否让字符串相等 I
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 2840. 判断通过操作能否让字符串相等 II
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 2841. 几乎唯一子数组的最大和
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 2842. 统计一个字符串的 k 子序列美丽值最大的数目
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 参考链接

一、本周周赛总结

  • 这场wa好多次,幸好没打。
  • T1 模拟。
  • T2 模拟。
  • T3 滑窗。
  • T4 组合数学。
    在这里插入图片描述

2839. 判断通过操作能否让字符串相等 I

2839. 判断通过操作能否让字符串相等 I

1. 题目描述

在这里插入图片描述

2. 思路分析

和T2是同题。
  • 可以两两交换的话,意味着奇数/偶数内部可以任意交换顺序,那么只要两个串的奇数和奇数相同,偶数和偶数相同即可。

3. 代码实现

class Solution:def canBeEqual(self, s1: str, s2: str) -> bool:return Counter(v for i,v in enumerate(s1) if i&1) == Counter(v for i,v in enumerate(s2) if i&1) and  Counter(v for i,v in enumerate(s1) if not i&1) == Counter(v for i,v in enumerate(s2) if not i&1)

2840. 判断通过操作能否让字符串相等 II

2840. 判断通过操作能否让字符串相等 II

1. 题目描述

在这里插入图片描述

2. 思路分析

同T1

3. 代码实现

class Solution:def checkStrings(self, s1: str, s2: str) -> bool:return Counter(s1[::2]) == Counter(s2[::2]) and  Counter(s1[1::2]) == Counter(s2[1::2])

2841. 几乎唯一子数组的最大和

2841. 几乎唯一子数组的最大和

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 滑窗,计数窗口内不同元素个数即可。

3. 代码实现

class Solution:def maxSum(self, nums: List[int], m: int, k: int) -> int:ans = s = 0q = deque()cnt = Counter()for v in nums:q.append(v)cnt[v] += 1s += vif len(q) > k:p = q.popleft()cnt[p] -= 1if not cnt[p]:del cnt[p]s -= pif len(q) == k and len(cnt)>=m:ans = max(ans,s)return ans

2842. 统计一个字符串的 k 子序列美丽值最大的数目

2842. 统计一个字符串的 k 子序列美丽值最大的数目

1. 题目描述

在这里插入图片描述

2. 思路分析

  • k序列必须字符唯一,因为s中至少要有k个不相同的字符,否则返回0。
  • 要求美丽值最大的话,显然优先取出现次数更多的k种字符。
  • 记这k种字符的次数分别是c1,c2…ck,那么方案数就是这些次数的乘积。
  • 但要处理第k种字符,可能有m个字符和这个字符次数相同,要考虑一个组合问题。
  • 假设一共有m种字符出现次数是ck,在前k大里,有r中字符出现次数是ck,那么有C(m,r)种选择方案。

3. 代码实现

MOD = 10**9+7
class Solution:def countKSubsequencesWithMaxBeauty(self, s: str, k: int) -> int:cnt = Counter(s)if k > len(cnt): return 0cc = sorted([(v,p) for p,v in cnt.items()],reverse=True)ans = 1         big = 0for v,_ in cc:if v > cc[k-1][0]:ans = ans * v % MODbig += 1else:break ck = list(cnt.values()).count(cc[k-1][0])# print(ans * pow(cc[k-1][0],k-big,MOD)%MOD, big ,ck)ans = ans * pow(cc[k-1][0],k-big,MOD)%MOD* comb(ck,k-big) %MODreturn ans               

参考链接

http://www.zhongyajixie.com/news/16790.html

相关文章:

  • wordpress数据库无法连接企业网站优化排名
  • 网站做跳转营销外包
  • 怎么制作网站主题网络推广优化平台
  • 做网站用什么写网络推广方式有哪几种
  • 苏州专业网站设计制作公司seo网站推广费用
  • 濮阳做网站星月网络it培训机构排名前十
  • 莱西做网站关键词优化的主要工具
  • 西安做建站的公司百度口碑网
  • 万象园网站建设与开发seo排名优化关键词
  • com一级域名武汉百度搜索优化
  • 厦门专业做网站的网站制作软件
  • 网站建设是广告吗windows优化大师是什么软件
  • 信誉好的常州网站建设查网址
  • 沈阳做网站seo烟台seo外包
  • 静态网站被挂马编程培训
  • c++可以做网站吗站长工具seo排名查询
  • 设计产品网站推荐宿州百度seo排名软件
  • 怎么建设影视卡网站营销策划的重要性
  • 南昌网站建设公司好么网络营销环境分析包括哪些内容
  • 百度手机网站制作长沙网站seo排名
  • 南皮县做网站外包客服平台
  • 用dw做网站怎么给链接肇庆seo优化
  • 网站开发公司tahmwlkj免费网站或软件
  • 设计网站大全扣西湖南岚鸿首选网络推广的主要工作内容
  • 大良营销网站建设流程百度关键词怎么设置
  • 免费自动生成二维码合肥网络seo
  • 做网站开发工资怎样关键词网络推广企业
  • 帮助做职业规划的网站星沙网站优化seo
  • 江苏网站seo优化品牌营销与推广
  • 免费制作主图的网站长沙网络推广服务