100224. 分割数组

简介: 100224. 分割数组

说在前面

🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。

题目描述

给你一个长度为 偶数 的整数数组 nums 。你需要将这个数组分割成 nums1nums2 两部分,要求:

  • nums1.length == nums2.length == nums.length / 2
  • nums1 应包含 互不相同 ****的元素。
  • nums2也应包含 互不相同 的元素。

如果能够分割数组就返回 true ,否则返回 false

示例 1:

输入: nums = [1,1,2,2,3,4]
输出: true
解释: 分割 nums 的可行方案之一是 nums1 = [1,2,3] 和 nums2 = [1,2,4] 。

示例 2:

输入: nums = [1,1,1,1]
输出: false
解释: 分割 nums 的唯一可行方案是 nums1 = [1,1] 和 nums2 = [1,1] 。但 nums1 和 nums2 都不是由互不相同的元素构成。因此,返回 false 。

提示:

  • 1 <= nums.length <= 100
  • nums.length % 2 == 0
  • 1 <= nums[i] <= 100

解题思路

题目的意思是要我们将原数组分成两个新的数组,并且两个新的数组的长度相等,切各数组中的元素不能有相同的,这也就是说原数组的不能有重复个数大于2个以上的元素,否则我们便无法分割成满足要求的两个新数组了,所以我们直接遍历原数组,计算原数组中每一个元素出现的次数,如果元素出现次数大于2的话则返回false,具体代码如下:

AC代码

/**
 * @param {number[]} nums
 * @return {boolean}
 */
var isPossibleToSplit = function (nums) {
  const map = {};
  for (const num of nums) {
    map[num] = (map[num] || 0) + 1;
    if (map[num] > 2) return false;
  }
  return true;
};

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

目录
相关文章
|
7月前
一个16位的数以4位为一组分割,然后将各部分相加获取最终结果。
一个16位的数以4位为一组分割,然后将各部分相加获取最终结果。
|
机器学习/深度学习 监控 TensorFlow
数据分割
在机器学习和数据分析中,数据分割是指将可用数据集划分为训练集、验证集和测试集等子集的过程。这种分割的目的是为了评估和验证机器学习模型的性能,并对其进行调优和泛化能力的评估。下面我将解释为什么要进行数据分割,以及如何进行数据分割,并提供一个简单的示例。
345 0
09_分割等和子集
09_分割等和子集
|
2月前
|
人工智能 C语言
数组与字符串深度巩固
本文探讨了C语言中数组名的实际含义,数组与指针的区别,以及在实际编程中的应用,如冒泡排序、字符串旋转检测和字符排序。通过实例展示了数组名作为首元素地址和使用指针操作数组的重要性。
34 0
|
4月前
|
算法
如何反转给定的字符串?
【8月更文挑战第23天】
51 0
|
7月前
leetcode-1221:分割平衡字符串
leetcode-1221:分割平衡字符串
42 0
|
7月前
|
Java
leetcode-416. 分割等和子集
leetcode-416. 分割等和子集
26 0
|
7月前
|
人工智能 算法 数据可视化
【算法训练-数组 五】【数组组合】:下一个排列
【算法训练-数组 五】【数组组合】:下一个排列
56 0
|
存储 编解码 对象存储
将图像标记器多边形转换为标记的块图像以进行语义分割
将存储在对象中的多边形标签转换为适用于语义分割工作流的标记阻止图像。 可以使用计算机视觉工具箱中的图像标记器应用来标记太大而无法放入内存和多分辨率图像的图像。有关详细信息,请参阅在图像标记器(计算机视觉工具箱)中标记大图像。图像标记器应用不支持对被阻止的图像进行像素标记。您只能使用 ROI 形状(如多边形、矩形和线条)创建标签。此示例演示如何使用函数将多边形 ROI 转换为像素标记的块图像,以进行语义分割工作流。
75 0
将图像标记器多边形转换为标记的块图像以进行语义分割
|
安全 算法 索引
对字符串进行分割并且补位的算法解析
重点掌握StringBuilder和StringBuffer和String的区别
对字符串进行分割并且补位的算法解析
下一篇
DataWorks