【LeetCode】每日一题 2024_12_15 数组大小减半(哈希、排序)

前言

每天和你一起刷 LeetCode 每日一题~

小聊两句

前几天的时候决定每天学点前端,然后总结一个前端速成的必备知识系列,结果学了几天发现前端内容博大精深,一时半会儿是更新不出来了,慢慢积累总结,会有更新的那一天的

LeetCode 启动!

题目:K 次乘运算后的最终数组 I

代码与解题思路

先读题:题目给了一个数组,我们可以选择一个整数的集合并将他们全部删除,让我们求出用最少的集合数将数组删到一半及以下的大小

核心思路:怎么样删的更快?找最大的整数集合依次删除;怎么找到最大的整数集合?用哈希计数;怎么依次删除?排序。

所以,整个流程就是,先计数,再排序,最后依次删除整数集合,达成题目条件返回结果即可,代码如下:

go 复制代码
func minSetSize(arr []int) int {
    nums, sum := make([]int, 100010), 0
    for _, v := range arr {
        nums[v]++
        sum++
    }
    slices.Sort(nums)
    slices.Reverse(nums)
    cnt := sum
    for i, v := range nums {
        cnt -= v
        if cnt <= sum/2 {
            return i+1
        }
    }
    return -1
}

每天进步一点点,我们明天不见不散~

可以和我刷一辈子的每日一题吗?

一题一题,积累起来就是一辈子。

相关推荐
HAH-HAH几秒前
【蓝桥杯 2024 国 Java A】粉刷匠小蓝
c++·学习·数学·算法·职场和发展·蓝桥杯·组合数学
hweiyu001 小时前
C++设计模式,高级开发,算法原理实战,系统设计与实战(视频教程)
c++·算法·设计模式
爱吃烤鸡翅的酸菜鱼1 小时前
【Redis】常用数据结构之Hash篇:从常用命令到使用场景详解
数据结构·数据库·redis·后端·缓存·哈希算法
大千AI助手2 小时前
粒子群优化(PSO)算法详解:从鸟群行为到强大优化工具
人工智能·算法·优化算法·pso·粒子群优化
我叫汪枫2 小时前
C语言深度入门系列:第十一篇 - 动态内存管理与数据结构:程序世界的高效算法大师
c语言·数据结构·算法
Li_7695322 小时前
优选算法100 题 ——1 双指针
算法
77qqqiqi2 小时前
算法——数学基础
算法
啊?啊?2 小时前
7 排序算法通关指南:从 O (n²)(选择 / 冒泡)到 O (nlogn)(快排 / 归并)+ 计数排序
数据结构·算法·排序算法
张较瘦_2 小时前
[论文阅读] 算法 | 抗量子+紧凑!SM3-OTS:基于国产哈希算法的一次签名新方案
论文阅读·算法·哈希算法
芒克芒克2 小时前
LeetCode 面试经典 150 题:多数元素(摩尔投票法详解 + 多解法对比)
算法·leetcode·面试