力扣347-前K个高频元素
347. 前 K 个高频元素 - 力扣LeetCode给你一个整数数组nums和一个整数k请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。示例 1输入nums [1,1,1,2,2,3], k 2输出[1,2]示例 2输入nums [1], k 1输出[1]示例 3输入nums [1,2,1,2,1,2,3,1,3,2], k 2输出[1,2]提示1 nums.length 105-104 nums[i] 104k的取值范围是[1, 数组中不相同的元素的个数]题目数据保证答案唯一换句话说数组中前k个高频元素的集合是唯一的进阶你所设计算法的时间复杂度必须优于O(n log n)其中n是数组大小。涉及到频率显然可以想到哈希表。先用哈希表存储每个元素出现的次数key 为元素value 为出现次数。任务变为将 value 进行排序取最后 k 个先考虑一种特殊情况多个元素出现次数相同。处理办法将出现次数相同的元素放入一个桶当中这样无需对桶内元素进行排序设出现次数的最大值为 max_fre创建一个大小为 max_fre 1 的列表 buckets其中buckets[i]为出现次数为 i 的元素构成的列表。然后遍历哈希表把元素搬到 buckets 当中接下来就很简单了倒序遍历 buckets 把buckets[i]中的元素加入答案中。当遍历的 bucket 个数为 k 时返回即可import sys from typing import List from collections import Counter def solve() - None: data sys.stdin.read().strip().split() k int(data[-1]) nums list(map(int, data[:-1])) ans topKFrequent(nums, k) print( .join(map(str, ans))) def topKFrequent(nums: List[int], k: int) - List[int]: # 统计每个元素出现的次数 cnt Counter(nums) # 记录出现的最大次数 max_fre max(cnt.values()) # 把出现次数相同的元素放到同一个桶中 buckets [[] for _ in range(max_fre 1)] for element, e_cnt in cnt.items(): buckets[e_cnt].append(element) # 倒序遍历 buckets, 把出现次数前 K 大的元素加入答案 ans [] for bucket in reversed(buckets): ans bucket if len(ans) k: return ans if __name__ __main__: solve()

相关新闻

AI时代第三方开发者的生存策略与平台依赖风险

AI时代第三方开发者的生存策略与平台依赖风险

1. 事件背景:Anthropic与OpenClaw的订阅体系冲突2023年,AI领域发生了一起标志性事件——Anthropic突然将第三方工具OpenClaw从其Claude订阅体系中移除。表面看这只是平台对违规API调用的常规处理,但深入分析会发现,这揭示了AI时代…

2026/7/26 4:25:49 阅读更多 →
CTF PWN入门:从零搭建二进制漏洞实验环境

CTF PWN入门:从零搭建二进制漏洞实验环境

1. 项目概述作为一名在二进制安全领域摸爬滚打多年的老手,我深知一个稳定可靠的学习环境对CTF PWN入门者的重要性。很多新手往往在环境搭建阶段就耗费大量时间,甚至因此放弃学习。这份手册将带你从零开始,用最直接的方式搭建完整的PWN实验环境…

2026/7/26 4:25:49 阅读更多 →
Unity 2022 Mono调试DLL定制:从源码编译到深度调试实战

Unity 2022 Mono调试DLL定制:从源码编译到深度调试实战

1. 项目概述:为什么我们需要定制Unity的调试DLL?如果你是一名Unity开发者,尤其是从事游戏安全、性能深度优化或者引擎底层功能扩展的同行,那么你一定遇到过这样的困境:Unity引擎自带的调试功能,在应对一些复…

2026/7/26 4:24:49 阅读更多 →

最新新闻

CC2538无线SoC开发指南:从ARM Cortex-M3到Zigbee低功耗设计

CC2538无线SoC开发指南:从ARM Cortex-M3到Zigbee低功耗设计

1. 项目概述与核心价值如果你正在寻找一颗能扛起复杂无线传感网络节点重任的芯片,那么德州仪器(TI)的CC2538绝对是一个绕不开的选项。这颗芯片在物联网(IoT)和无线传感器网络(WSN)领域&#xff…

2026/7/26 4:33:53 阅读更多 →
YOLOv8工业质检实战:架构解析与优化技巧

YOLOv8工业质检实战:架构解析与优化技巧

1. 项目概述YOLOv8作为当前目标检测领域最前沿的开源模型之一,凭借其出色的实时性和精度平衡,正在工业界掀起新一轮应用热潮。我在过去半年中深度参与了三个基于YOLOv8的工业质检项目,从最初的模型选型困惑到现在的定制化优化,积累…

2026/7/26 4:33:52 阅读更多 →
TI平台CSI-2协议引擎寄存器配置详解与实战调试指南

TI平台CSI-2协议引擎寄存器配置详解与实战调试指南

1. 项目概述与CSI-2协议引擎核心价值在嵌入式图像处理系统里,图像传感器和主处理器之间的数据传输通道,其性能与稳定性直接决定了整个视觉应用的成败。我接触过不少项目,从简单的二维码识别到复杂的多目立体视觉,最终卡脖子的往往…

2026/7/26 4:33:52 阅读更多 →
深入解析CC27xx SYSTIM模块:高精度定时与射频时序同步实战

深入解析CC27xx SYSTIM模块:高精度定时与射频时序同步实战

1. SYSTIM模块在CC27xx系统中的核心定位与价值在CC27xx这类面向物联网和低功耗无线连接的无线MCU中,时间就是一切。无论是蓝牙低功耗(BLE)的广播间隔、连接事件的时间窗口,还是Sub-1GHz协议中精确的收发时序,都依赖于一…

2026/7/26 4:33:52 阅读更多 →
TI机器人迷宫挑战:从模块到系统的嵌入式开发实战

TI机器人迷宫挑战:从模块到系统的嵌入式开发实战

1. 项目概述:从模块到系统的工程跃迁如果你玩过乐高,大概能理解那种感觉:把一堆独立的零件(马达、传感器、轮子)拼在一起,最终得到一个能跑、能动的机器人。但当你真正开始用德州仪器(TI&#x…

2026/7/26 4:33:52 阅读更多 →
大模型生物安全测试:11个主流AI智能体的风险评估与防护方案

大模型生物安全测试:11个主流AI智能体的风险评估与防护方案

智能体时代,生物安全的“屏障”是否稳固?11个大模型测试给出答案在人工智能技术快速发展的今天,智能体和大模型已经成为各行各业的重要工具。特别是在生物安全领域,这些技术的应用潜力巨大,但同时也带来了新的安全挑战…

2026/7/26 4:32:52 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻