【hot100篇-python刷题记录】【数组中的第K个最大元素】

news2024/12/22 22:26:28

R5-堆篇

笑死,摆烂式

class Solution:
    def findKthLargest(self, nums: List[int], k: int) -> int:
        nums.sort()
        return nums[-k]

 堆排序

堆排序(英语:Heapsort)是指利用堆(heap)这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子节点的键值或索引总是小于(或者大于)它的父节点。

 

class Solution:
    def findKthLargest(self, nums: List[int], k: int) -> int:
        n=len(nums)
        def maxHepify(arr,i,end):
            #下标0代表堆顶,j为i的左子节点
            j=2*i+1
            while j<=end:
                if j+1<=end and arr[j+1]>arr[j]:
                    j+=1
                if arr[i]<arr[j]:
                    arr[i],arr[j]=arr[j],arr[i]
                    i=j
                    j=2*i+1
                else:
                    break
        #建堆[大根堆]
        for i in range(n//2-1,-1,-1):
            maxHepify(nums,i,n-1)
        
        # 排序:依次将堆顶元素(当前最大值)放置到尾部,并调整堆
        # k-1次重建堆(堆顶元素),或 k次交换到尾部(倒数第k个元素)
        for j in range(n-1,n-k-1,-1):
            nums[0],nums[j]=nums[j],nums[0]
            maxHepify(nums,0,j-1)
        return nums[-k]

ps:

具体看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2055229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++面试基础系列-double_colon(::)

系列文章目录 文章目录 系列文章目录C面试基础系列-double_colon(::)Overview1.double_colon(::)关键点2.double_colon(::)使用示例2.1.访问类成员2.2.静态成员访问2.3.命名空间中的实体2.4.全局变量和函数2.5.友元类2.6.类型转换2.7.枚举类成员访问2.8.模板参数 关于作者 C面试…

简述灰点工业相机的相关知识

灰点相机是一种特殊的相机类型&#xff0c;它的名称来源于其拍摄时可能产生的灰点效果&#xff0c;但并非所有灰点相机都会直接产生这种效果&#xff0c;这一命名更多是基于其品牌或某种特定的视觉特性。以下是对灰点相机的解析&#xff1a; 一、基本定义 类型&#xff1a;灰…

【Redis】Redis典型应用-缓存(cache)

目录 什么是缓存 使用Redis作为缓存 缓存的更新策略 缓存预热&#xff08;cache preheating&#xff09; 缓存穿透&#xff08;cache penetration&#xff09; 缓存雪崩&#xff08;cache avalanche&#xff09; 缓存击穿&#xff08;cache breakdown&#xff09; 什么是…

最小路径和[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给定一个包含非负整数的m x n网格grid&#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步。 示例 1&#xff1a; 输入&#xff1a;grid [[…

四十一、【人工智能】【机器学习】- Bayesian Logistic Regression算法模型

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

分布式缓存———数据一致性问题

分布式基础理论 CAP理论 与 BASE理论-CSDN博客 分布式系统会的三座大山&#xff1a;NPC。 N&#xff1a;Network Delay&#xff0c;网络延迟P&#xff1a;Process Pause&#xff0c;进程暂停&#xff08;GC&#xff09;C&#xff1a;Clock Drift&#xff0c;时钟漂移 在当前…

汇昌联信科技做拼多多电商有哪些策略?

在当今竞争激烈的电商平台上&#xff0c;汇昌联信科技以其独到的策略成功立足拼多多。他们不仅凭借对市场的深刻理解&#xff0c;还通过一系列创新举措&#xff0c;实现了品牌的快速成长和市场份额的不断扩大。接下来&#xff0c;我们将深入探讨汇昌联信科技在拼多多平台上所采…

基于Python的火车票售票系统/基于django的火车购票系统

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&…

三节点 DMHS 级联同步搭建

一、环境配置 完成三节点数据库部署并初始化&#xff0c;配置参数如下&#xff1a; 节点 192.168.2.132 192.168.2.133 192.168.2.130 数据库版本 DM8 DM8 DM8 实例名 DM1 DM2 DM3 端口号 5236 5236 5236 数据文件路径 /home/dmdba/dmdata /home/dmdba/dmd…

【Hot100】LeetCode—19. 删除链表的倒数第 N 个结点

目录 1- 思路双指针 2- 实现⭐19. 删除链表的倒数第 N 个结点——题解思路 3- ACM 实现 原题连接&#xff1a;19. 删除链表的倒数第 N 个结点 1- 思路 双指针 定义 dummyHead 处理头结点情况slow 指针&#xff1a;初始化为 dummyHead 定位到被移除元素的前一个fast 指针&…

海外短剧系统开源代码+快速搭建部署指南

前言&#xff1a; 海外短剧系统是一个专门为海外观众设计和运营的内容平台。这个系统不仅包含了丰富的短剧资源&#xff0c;还提供了全面的技术支持和运营服务&#xff0c;以确保短剧内容能够顺利地面向全球观众传播。 一、市场背景 由于国内短剧市场的急剧增长&#xff0c;…

x64dbg: 用于Windows的开源二进制调试器

x64dbg是Windows的开源二进制调试器&#xff0c;专为恶意软件分析和可执行文件的逆向工程而设计&#xff0c;无需访问源代码。 它提供了广泛的功能和插件系统&#xff0c;允许您定制和扩展其功能以满足您的需求。 人们喜欢x64dbg的原因可能是它有一个UI&#xff0c;可以轻松地…

开源服务器运维工具1Panel

1Panel是杭州飞致云信息科技有限公司推出的一款现代化、开源的Linux服务器运维管理面板。 以下是对1Panel的详细介绍&#xff1a; 一、基本信息 产品名称&#xff1a;1Panel所属公司&#xff1a;杭州飞致云信息科技有限公司编写语言&#xff1a;Golang上线时间&#xff1a;20…

团队管理的五个基本原则

一个成功的团队不仅能够迅速响应市场变化&#xff0c;还能在激烈的竞争中保持持续的创新力和竞争力。为了实现这一目标&#xff0c;团队管理必须遵循以下五个基本原则&#xff1a; 1、信任为先 “用人不疑&#xff0c;疑人不用”是团队管理的首要原则。信任是团队合作的基石。…

海外最新趋势解读!美国IMS2024揭示了哪些连接器新技术?

2024年6月的IEEE MTT-S国际微波研讨会在华盛顿特区盛大开启&#xff0c;集结了全球射频行业的顶尖企业&#xff0c;展示了集成电路、传感器、连接器、电缆、光学和波导等多元化产品和技术。 作者 | David Shaff 编译 | 深圳市连接器行业协会 李亦平 在今年IMS2024活动中所展示…

C# x Unity面向对象补全计划 设计模式 之 实现一个简单的有限状态机

一个简单的有限状态机可以有如下内容 1.状态基类&#xff08;定义基本状态的方法&#xff0c;如进入&#xff08;Enter&#xff09;、执行&#xff08;Execute&#xff09;和退出&#xff08;Exit&#xff09;&#xff0c;同时可以在此声明需要被管理的对象&#xff09; 2.具体…

电动汽车是否将成为银的最大需求端?

近年来&#xff0c;工业对银的需求一直在激增。主要是由于太阳能面板制造商对银的大量需求&#xff0c;预计2023年的需求量将比前一年增长11%。预测者预计今年又会增长9%。 然而&#xff0c;对于银的投资者来说&#xff0c;未来制造商对银的需求前景甚至可能比最近的过去更加明…

使用Linux Systemd部署DotNet Quartz.Net定时任务

开发环境 Windows 10 WSL2Ubuntu 22.04DotNet 6Quartz.Net 代码实战 新建dotnet项目&#xff0c;添加引用Quartz.net包 入口程序&#xff1a; static void Main(string[] args){IConfiguration configuration new ConfigurationBuilder().SetBasePath(Directory.GetCurren…

苹果手机白屏是怎么回事?解决方法分享

苹果手机作为市场上最受欢迎的智能手机之一&#xff0c;其稳定性和流畅性一直备受用户赞誉。然而&#xff0c;偶尔我们也会遇到一些令人头疼的问题&#xff0c;比如苹果手机出现白屏无反应的情况。那么&#xff0c;苹果手机白屏到底是怎么回事呢&#xff1f;本文将为大家详细解…