算法-栈和队列篇05-前 K 个高频元素

news/2025/2/27 3:02:39

前 K 个高频元素

力扣题目链接

题目描述

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

解题思路

又是遇到折磨人的题目,思路还算清晰,就是不好写。对我来说,主要难点就是对哈希表进行排序。
先用哈希表把所有的数据记录下出现的次数,然后存放在pair数组中进行排序,取前k个。

题解

#include<algorithm>
class Solution {
    static bool cmp(pair<int, int> x, pair<int, int> y){
        return x.second > y.second;
    }

public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
        vector<int> ans(k, 0);
        unordered_map<int, int> um;
        for (int i = 0; i < nums.size(); i++) {
            um[nums[i]]++;
        }

        vector<pair<int, int>> v(um.begin(), um.end());
        sort(v.begin(), v.end(), cmp);
        for (int i = 0; i < k; i++) {
            ans[i] = v[i].first;
        }

        return ans;
    }
};

总结

主要还是学会了sort函数的很多用法。


http://www.niftyadmin.cn/n/5869405.html

相关文章

MYSQL之相关子查询

MySQL 相关子查询详解 在 MySQL 中&#xff0c;子查询&#xff08;Subquery&#xff09;是指嵌套在另一个查询中的查询。子查询可以出现在 SELECT、INSERT、UPDATE、DELETE 语句中&#xff0c;也可以出现在 WHERE 或 HAVING 子句中。相关子查询&#xff08;Correlated Subquer…

TCP/IP的分层结构、各层的典型协议,以及与ISO七层模型的差别

1. TCP/IP的分层结构 TCP/IP模型是一个四层模型&#xff0c;主要用于网络通信的设计和实现。它的分层结构如下&#xff1a; (1) 应用层&#xff08;Application Layer&#xff09; 功能&#xff1a;提供应用程序之间的通信服务&#xff0c;处理特定的应用细节。 典型协议&am…

网络原理--TCP的特性

TCP报文的结构&#xff1a; TCP的报头前20字节是固定长度&#xff0c;也可以通过“选项”来增加。 一、用来确保可靠性&#xff0c;最核心的机制&#xff0c;称为“确认应答” 引入一个情景&#xff1a; A向B询问cat和dog的意思&#xff1a; 这种情况是理想情况&#xff0c;…

【Azure 架构师学习笔记】- Azure Databricks (12) -- Medallion Architecture简介

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (11) – UC搭建 前言 使用ADB 或者数据湖&#xff0c;基本上绕不开一个架构“Medallion”&#xff0c; 它使得数据管理更为简单有效。ADB 通过…

Day28 第八章 贪心算法 part01

一. 学习文章及资料 理论基础 455.分发饼干 376.摆动序列 53.最大子序和 二. 学习内容 1. 理论基础 贪心算法无规律&#xff01; 一般如想到局部最优&#xff0c;好像能推出全局最优&#xff0c;并且无明显反例&#xff0c;那就试一试&#xff01; 2. 分发饼干 (1) 解题思…

Ubuntu部署ktransformers

准备工作 一台服务器 CPU&#xff1a;500G GPU&#xff1a;48G&#xff08;NVIDIA4090&#xff09; 系统&#xff1a;Ubuntu20.04&#xff08;github的文档好像用的是22.04&#xff09; 第一步&#xff1a;下载权重文件 1.下载hfd wget https://hf-mirror.com/hfd/hfd.s…

FFmpeg.NET:.NET 平台上的音视频处理利器

FFmpeg.NET 是一个封装了 FFmpeg 功能的 .NET 库&#xff0c;能够方便地在 C# 项目中处理音视频文件。它支持多种操作&#xff0c;包括转码、剪辑、合并、分离音频等。 功能 解析元数据从视频生成缩略图使用以下参数将音频和视频转码为其他格式&#xff1a; 码率&#xff08;…

微信小程序网络请求与API调用:实现数据交互

在前几篇文章中,我们学习了微信小程序的基础知识、数据绑定、事件处理以及页面导航与路由。这些知识帮助我们构建了具备基本交互功能的小程序。然而,一个完整的应用通常需要与服务器进行数据交互,例如获取用户信息、提交表单数据等。本文将深入探讨微信小程序的网络请求与AP…