LeetCode简单题之将数组划分成相等数对

news/2024/11/24 2:16:44/

题目

给你一个整数数组 nums ,它包含 2 * n 个整数。
你需要将 nums 划分成 n 个数对,满足:
每个元素 只属于一个 数对。
同一数对中的元素 相等 。
如果可以将 nums 划分成 n 个数对,请你返回 true ,否则返回 false 。
示例 1:
输入:nums = [3,2,3,2,2,2]
输出:true
解释:
nums 中总共有 6 个元素,所以它们应该被划分成 6 / 2 = 3 个数对。
nums 可以划分成 (2, 2) ,(3, 3) 和 (2, 2) ,满足所有要求。
示例 2:
输入:nums = [1,2,3,4]
输出:false
解释:
无法将 nums 划分成 4 / 2 = 2 个数对且满足所有要求。
提示:
nums.length == 2 * n
1 <= n <= 500
1 <= nums[i] <= 500
来源:力扣(LeetCode)

解题思路

  按照题目的意思只需要统计各个元素的频率,然后检查元素的频率是否都是2的倍数即可。

class Solution:def divideArray(self, nums: List[int]) -> bool:return all(i%2==0 for i in Counter(nums).values())

在这里插入图片描述


http://www.ppmy.cn/news/605422.html

相关文章

硬核科普:到底啥是云原生?

本文主要根据课程 什么是云原生&#xff1f;_哔哩哔哩_bilibili 总结而来&#xff0c;其他参考文章如下&#xff1a; 《云原生人才计划之Kubernetes 技术图谱》发布&#xff01; - 知乎 (zhihu.com)kubernetes-阿里云与CNCF联合推出的云原生技术公开课_哔哩哔哩_bilibili什么是…

LeetCode简单题之统计包含给定前缀的字符串

题目 给你一个字符串数组 words 和一个字符串 pref 。 返回 words 中以 pref 作为 前缀 的字符串的数目。 字符串 s 的 前缀 就是 s 的任一前导连续字符串。 示例 1&#xff1a; 输入&#xff1a;words [“pay”,“attention”,“practice”,“attend”], pref “at” 输出&…

8.1 PowerBI系列之DAX函数专题-进阶-解决列排序对计算的影响

需求 下列矩阵中&#xff0c;在月份列不按照原始数据的month_no排列时&#xff0c;能正确计算销售额占比&#xff0c;但是当月份按照month_no排序时就会出错&#xff0c;需要解决这个问题。 实现 month % divide([amount],calculate([amount],all(date[month desc]))) //排…

好好谈谈共线性问题

好好谈谈共线性问题马东什么算法工程师8 人赞同了该文章共线性&#xff0c;即同线性或同线型。统计学中&#xff0c;共线性即多重共线性。多重共线性&#xff08;Multicollinearity&#xff09;是指线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计…

什么是云开发?小程序实例超详细演示~

学习视频&#xff1a; 八分钟读懂云开发_哔哩哔哩_bilibili小姐姐带你30分钟创建并上线小程序项目【云开发实战】_哔哩哔哩_bilibili 参考资料&#xff1a; 微信开放文档 (qq.com)云开发_百度百科 (baidu.com) 推荐阅读&#xff1a; 云原生推动全云开发与实践 - 知乎 (zhihu.co…

什么是高/低方差、高/低偏差、(推荐阅读)

2021071 https://www.pianshen.com/article/71161696005/ 方差是对多个样本集的比较而言&#xff1f; 摘要&#xff1a;在现实任务中&#xff0c;我们往往有多种学习算法可供选择&#xff0c;甚至对同一个学习算法&#xff0c;当使用不同的参数配置时&#xff0c;也会产生不同…

LeetCode简单题之统计数组中相等且可以被整除的数对

题目 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 k &#xff0c;请你返回满足 0 < i < j < n &#xff0c;nums[i] nums[j] 且 (i * j) 能被 k 整除的数对 (i, j) 的 数目 。 示例 1&#xff1a; 输入&#xff1a;nums [3,1,2,2,2,1,3], k 2 输出…

交叉验证的作用

1. 可以使用所有的数据 一般模型训练都要把数据分成训练集和验证集合&#xff0c;这就导致训练数据比原始的数据要少&#xff0c;并且验证集也无法是所有的原始数据。 如果使用交叉验证&#xff0c;所有数据都可以用作训练&#xff08;但不是同一个模型&#xff09;&#xff0c…