美文网首页
1338. 数组大小减半

1338. 数组大小减半

作者: 程序员小2 | 来源:发表于2023-01-02 09:47 被阅读0次

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
坚持不懈,越努力越幸运,大家一起学习鸭~~~

题目:

给你一个整数数组 arr。你可以从中选出一个整数集合,并删除这些整数在数组中的每次出现。

返回 至少 能删除数组中的一半整数的整数集合的最小大小。

示例 1:

输入:arr = [3,3,3,3,5,5,5,2,2,7]
输出:2
解释:选择 {3,7} 使得结果数组为 [5,5,5,2,2]、长度为 5(原数组长度的一半)。
大小为 2 的可行集合有 {3,5},{3,2},{5,2}。
选择 {2,7} 是不可行的,它的结果数组为 [3,3,3,3,5,5,5],新数组长度大于原数组的二分之一。
示例 2:

输入:arr = [7,7,7,7,7,7]
输出:1
解释:我们只能选择集合 {7},结果数组为空。

提示:

1 <= arr.length <= 10^5
arr.length 为偶数
1 <= arr[i] <= 10^5

java代码:

class Solution {
    public int minSetSize(int[] arr) {
        int len = arr.length;
        Integer[] map = new Integer[(int) 1e5 + 1];
        Arrays.fill(map, 0);
        for (int num : arr) {
            map[num]++;
        }
        Arrays.sort(map, (a, b) -> b - a);
        int sum = 0;
        for (int i = 0; i < map.length; i++) {
            sum += map[i];
            if (sum >= len / 2) {
                return i + 1;
            }
        }
        return 0;
    }
}

相关文章

  • 1338. 数组大小减半

    注意点 如果判断key是不是在dict里面(python3)if data in dict:if data in ...

  • 1338. 数组大小减半

    插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。[http...

  • 1338、数组大小减半

    给你一个整数数组 arr。你可以从中选出一个整数集合,并删除这些整数在数组中的每次出现。返回 至少 能删除数组中的...

  • LeetCode #1338 Reduce Array Size

    1338 Reduce Array Size to The Half 数组大小减半 Description: Yo...

  • leetcode-数组大小减半(map,vector,pair,

    这道题先是利用哈希表存储数字以及出现的次数,然后利用pair将这些数据存储到vector中,因为只有vector可...

  • 算法<二>二分查找

    适用于查找有顺序的数组,通过每次区间减半,增加效率

  • Python|Numpy数组基础知识

    关于Numpy基本的数组操作有: 数组的属性数组的大小、形状、储存大小、数据类型 数组的索引获取和设置数组各个元素...

  • 差分数组

    定义: 对于大小为n的数组arr,定义其差分数组d,差分数组和原来数组arr大小相同,且d[i] = arr[i]...

  • PHP数组大小

    获取数组大小

  • 8.Golang数组array、切片slice、字典map 数据

    一、数组 array声明数组时,必须声明数组大小,声明后大小不可变,未赋值的空间默认值为数组存储类型的 0 值。 ...

网友评论

      本文标题:1338. 数组大小减半

      本文链接:https://www.haomeiwen.com/subject/txmhcdtx.html