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

Leetcode 3035. Maximum Palindromes After Operations

  • Leetcode 3035. Maximum Palindromes After Operations
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3035. Maximum Palindromes After Operations

1. 解题思路

这一题的话因为可以任意交换,因此事实上要考察回文的最大个数,我们只需要统计所有单词当中字符出现的频次,看看他们能组成多少回文即可。

而这部分,我们只需要统计所有的字符频次当中pair的个数和独立元素的个数即可,且需要注意的是,如果独立元素不够用了,我们可以将成对的元素拆分为两个独立元素,即可满足使用需求。

另外,要使得能组成的回文尽可能的多,我们应该优先匹配较短的单词,这样才能够确保能够组成最多的回文。

2. 代码实现

给出python代码实现如下:

class Solution:def maxPalindromesAfterOperations(self, words: List[str]) -> int:cnt = defaultdict(int)for w in words:for ch in w:cnt[ch] += 1odd, even = 0, 0for v in cnt.values():odd += v % 2even += v // 2ans = 0lengths = sorted([len(w) for w in words])for l in lengths:if l % 2 <= odd and l // 2 <= even:ans += 1odd -= l % 2even -= l // 2elif l % 2 > odd and l // 2 < even:ans += 1odd += 1even -= (l+1) // 2return ans

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

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

相关文章:

  • SCM供应链系统:一文读懂,需要优化升级的看过来。
  • WSL外部SSH连接有效方法
  • MATLAB 1:基础知识
  • django安装使用
  • 基于LightGBM的回归任务案例
  • CTFshow web(php文件上传155-158)
  • Leetcode 53 最大子数组和
  • 【pandas 不同文件读取和存储】
  • python从入门到精通(十六):python爬虫的BeautifulSoup4
  • Codeforces Round 924(Div.2) A~E
  • django中实现观察者模式
  • Elasticsearch中的动态DSL解决方案
  • 【操作系统】MacOS虚拟内存统计指标
  • LeetCode:67.二进制求和
  • 修改GI文件的权限
  • OJ刷题:杨氏矩阵【建议收藏】
  • 2024-02-13 Unity 编辑器开发之编辑器拓展4 —— EditorGUIUtility
  • redis加锁实现方式
  • ClickHouse--08--SQL DDL 操作
  • 5种风格非常经典的免费wordpress主题
  • 「数据结构」哈希表2:实现哈希表
  • ITK 图像分割(一):阈值ThresholdImageFilter
  • 2023.2.6
  • 例39:使用List控件
  • 浏览器内核的主要功能模块介绍
  • 如何流畅进入Github
  • docker磁盘不足!已解决~
  • 法国实习面试——计算机相关专业词汇
  • LeetCode刷题计划
  • 2023全球云计算市场份额排名