首页 > 其他分享 >hot100-一刷-13堆(共3道题)

hot100-一刷-13堆(共3道题)

时间:2024-12-31 17:08:51浏览次数:1  
标签:map 13 pq 题目 int 道题 hot100 ans poll

215. 数组中的第K个最大元素

题目链接

题目描述

image

代码实现

分析:

  • 后面可以看下官方题解的,手动写排序或者大顶堆。

代码:

class Solution {
    public int findKthLargest(int[] nums, int k) {
        PriorityQueue<Integer> pq = new PriorityQueue<>((n1, n2) -> n1 - n2);
        for(int i = 0; i<nums.length; i++){
            pq.add(nums[i]);
            if(pq.size() > k) {
                pq.poll();
            }
        }
        return pq.poll();
    }
}

347. 前 K 个高频元素

题目链接

题目描述

image

代码实现

分析:

代码:

class Solution {
    public int[] topKFrequent(int[] nums, int k) {
        int n = nums.length;
        Map<Integer, Integer> map = new HashMap<>();
        // 统计频率
        for(int i : nums){
            // map.put(i, map.getOrDefault(i, 0)+1);
            map.merge(i, 1, Integer::sum);
        }

        PriorityQueue<Map.Entry<Integer,Integer>> pq = new PriorityQueue<>((e1, e2) -> e1.getValue() - e2.getValue());
        for(Map.Entry entry : map.entrySet()){
            pq.add(entry);
            if(pq.size()>k){
                pq.poll();
            }
        }
        int[] ans = new int[k];
        for(int i = k -1; i>=0; i--){
            ans[i] = pq.poll().getKey();
            System.out.print(ans[i]);
        }
        return ans;
    }
}

题目

题目链接

题目描述

代码实现

分析:

代码:


标签:map,13,pq,题目,int,道题,hot100,ans,poll
From: https://www.cnblogs.com/chendsome/p/18642198

相关文章

  • hot100-一刷-14贪心(共4道题)
    121.买卖股票的最佳时机题目链接题目描述代码实现分析:我们需要知道第i天之前,股票价格的最小值是什么,再讨论从股票最小值买入,第i天卖出获得的利润,取最大值。代码:classSolution{publicintmaxProfit(int[]prices){intminPrice=prices[0];......
  • [rustGUI][iced]基于rust的GUI库iced(0.13)的部件学习(00):iced简单窗口的实现以及在窗口显
    前言本文是关于iced库的部件介绍,iced库是基于rust的GUI库,作者自述是受Elm启发。iced目前的版本是0.13.1,相较于此前的0.12版本,有较大改动。本合集是基于新版本的关于分部件(widget)的使用介绍,包括源代码介绍、实例使用等。环境配置系统:window10平台:visualstudiocode语言:rust......
  • 1367. 二叉树中的链表
    给你一棵以 root 为根的二叉树和一个 head 为第一个节点的链表。如果在二叉树中,存在一条一直向下的路径,且每个点的数值恰好一一对应以 head 为首的链表中每个节点的值,那么请你返回 True ,否则返回 False 。一直向下的路径的意思是:从树中某个节点开始,一直连续向......
  • BHQ-3 acid|cas:1338332-66-3|BHQ-3酸
    BHQ-3acid,也被称为BHQ-3羧酸或黑洞猝灭剂3羧酸,是一种具有特别暗猝灭特性的多功能有机化合物。以下是对BHQ-3acid的详细介绍:一、基本特性英文名称:BHQ-3acidCAS号:1338332-66-3分子式:C33H35N6O2+分子量:547.68外观:深紫色粉末结构式:二、化学结构BHQ-3acid的分子中含有一个......
  • 【Leetcode_Hot100】链表
    链表160.相交链表206.反转链表234.回文链表141.环形链表142.环形链表II21.合并两个有序链表2.两数相加19.删除链表的倒数第N个结点25.K个一组翻转链表138.随机链表的复制148.排序链表23.合并K个升序链表146.LRU缓存160.相交链表方法一:模拟依......
  • 《计算机组成及汇编语言原理》阅读笔记:p133-p159
    《计算机组成及汇编语言原理》学习第11天,p133-p159总结,总计27页。一、技术总结1.segment(1)定义Broadlyspeaking,acontiguoussectionofmemory.Morespecifically,asectionofmemoryreferencedbyoneofthesegmentregistersofthe80x86family.Theme......
  • leetcode137. 只出现一次的数字 II
    题目:        给你一个整数数组 nums,除某个元素仅出现一次外,其余每个元素都恰出现三次。请你找出并返回那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。示例1:输入:nums=[2,2,3,2]输出:3示例2:输入:nums=[......
  • 递归深入——再论函数自我调用(附5道题型详细解析及代码)
    递归基础:一、什么是递归?递 归 :函数的自我调用;数列递归:如果一个数列的项与项之间存在关联性,那么可以使用递归实现;原理:如果 一 个函数可以求A(n),   那么该函数就可以求A(n-1),  就形成了递归调用; 注 意 :一般起始项是不需要求解的,是已知条件;递归求解问题......
  • 2024.9.13
    HTML 编辑器VSCodeVisualStudioCode(简称VSCode)是一个由微软开发,同时支持Windows、Linux和macOS等操作系统且开放源代码的代码编辑器,编辑器中内置了扩展程序管理的功能。VSCode安装教程参考:https://www.runoob.com/vscode/vscode-tutorial.html步骤1:新建HTML......
  • leetcode 213. 打家劫舍 II
    213.打家劫舍II与  198.打家劫舍  相比,多了首和尾不能同时偷的条件但是没写出来......