select largest K number from unsorted array Python

S盒+异或+循环密钥:Windows PE查表逆向实战详解 阅读详情

heap:

take klog(n) time



code is as follow"

def siftdown(A, start, end):
	root = start
	child = 2 * root + 1
	while child <= end:
		if child + 1 <= end and A[child] < A[child + 1]:
			child += 1
		if A[root] < A[child]:
			A[child], A[root] =  A[root], A[child]
			root = child
		else:
			return

def heapify(A, count):
	start = (count - 2) / 2
	while start >= 0:
		siftdown(A, start, count - 1)
		start = start -1

#def heapsort(A):
#	count = len(A)
#	heapify(A, len(A))
#	end = count - 1
#	while end > 0:
#		A[end], A[0] = A[0], A[end]
#		end -= 1
#		siftdown(A, 0, end)
#	return A

def topk(A, k):
	count = len(A)
	heapify(A, len(A))
	end = len(A) - 1
	while end > 0 and k > 0:
		A[end], A[0] = A[0], A[end]
		end -= 1
		k -= 1
		siftdown(A, 0, end)
	return A[end + s1:] 
#def drawmax(A):



A = [3, 4, 5, 1, 2, 0]



print topk(A, 3)


quick select take O(n) time find k values

import random

def partition(num, pivotIndex, left, right):
	pivot = num[pivotIndex]
	num[pivotIndex], num[right] = num[right], num[pivotIndex]
	storeIndex = left
	for i in range(left, right):
		if num[i]< pivot:
			num[storeIndex], num[i] = num[i], num[storeIndex]
			storeIndex += 1
	num[storeIndex], num[right] = num[right], num[storeIndex]
	return storeIndex

def quickselect(num, k):
	left = 0
	right = len(num) - 1
	
	while True:
		pivotIndex = random.randint(left,right)
		pivotNewIndex = partition(num, pivotIndex,left, right)
		dist = pivotNewIndex - left
		if dist == k:
			return num[pivotNewIndex]
		elif dist > k:
			right = pivotNewIndex - 1
		else:
			k -= (dist+1)
			left = pivotNewIndex + 1 		

num =[8, 9,0,1,2,3,6,7]

print quickselect(num,3)







05 从零搭建 GPT 模型:LayerNorm、GELU 与解码器堆叠 本文介绍从零搭建GPT模型的关键组件:LayerNorm对特征维归一化,GELU平滑激活,前馈网络扩展收缩,残差连接缓解梯度消失。随后组装TransformerBlock(多头注意力+前馈,Pre-LN),最终构建GPTModel并实现文本生成,附参数量核算。 阅读详情

相关推荐

Python Class 参数传递完全指南

Python Class 参数传递完全指南:1.1 实例方法(最常用)1.2 类方法(@classmethod)1.3 静态方法(@staticmethod)2. 嵌套函数(def 内嵌 def)的 4 种传参方式2.1 闭包捕获(读取外层)2.2 显式传递(推荐用于灵活传参)2.3 nonlocal 修改外层2.4 使用 self 传递(共享状态)3. 继承中的参数传递(super())4. 灵活传参:*args 与 **kwargs5. 嵌套层级过深时的最佳实践(工程建议)

m0_54652313的博客 26

python 先序遍历非递归

最近看面经,基本只要考了递归一定会follow up一道非递归的算法。所以我写了一下。 主要思想是构造一个栈一直将左子树压栈,并每次读取一个 node 出栈,直到没有左子树 再看右边,依次循环 直到结束。 先看递归的方法。 def preorder(root): if root: print root.val preorder(root.left)

hyperbolechi的专栏 1826

Python函数进阶:可变参数、匿名函数与作用域

本文深入探讨了Python函数的高级特性,主要包括: 可变参数:详细介绍了*args(收集位置参数为元组)和**kwargs(收集关键字参数为字典)的用法,以及参数解包技巧。 匿名函数(lambda):讲解lambda语法、特点及典型应用场景,如排序、map/filter操作等,同时提醒不要过度使用。 函数式编程工具:介绍map、filter、reduce三大工具及其与列表推导式的对比。 作用域规则:深入解析LEGB查找顺序,global和nonlocal关键字的使用,以及闭包的实际应用。 实战案例:展示了

PHTR1的博客 154

topological sort python recursive and iterative

Define a DAG we need to find a path so that we can follow the path and get the result. graph={'A':['B','C'],'B':['D','E'],'C':['B','F'],'D':[],'E':[],'F':[]} def dfs(graph): stack=[graph.keys()[

hyperbolechi的专栏 1394

Tripadvisor 面经解答 -持续更新ing

2. Binary Search Tree Insert class Node: def __init__(self,val): self.left=None self.right=None self.val=val def insertBST(root,node): if root==None:

hyperbolechi的专栏 1012

sortings in python

这篇主要写几种sort的方法,后面还会持续更新。 1. heapsort heap sort uses an array as a full tree to sort.  time complexity is nlogn  space is O(1) because  it sorts in place. it requires random access so we use array

hyperbolechi的专栏 676

insertion mergesort bubble sort 复习 python

最近重新开始复习算法那本书,整理了一下关于insertion mergesort以及 divide and conquer的思路 insertion sort is O(n^2)  best case when it is already sorted it will be O(n) worse case is the array is reversed sorted. the mai

hyperbolechi的专栏 584

Matrix Chain Multiplication-geeksforgeeks

(ABC)D = (AB)(CD) = A(BCD) calculate the least calculation. 第一种方法穷举发,willl take np time. def matrixp(p,i,j): if i==j: return 0 k=i minval=10000000 while k<j: result=m

hyperbolechi的专栏 515

Agent 记忆压缩通常有哪些方法?

在传统软件中,状态可以通过关系型数据库做毫秒级精准存取;而在 AI Agent 架构中,大模型本身是无状态的概率推理引擎。为了维持多轮交互的连续性,开发者必须将历史记忆注入到上下文(Context)中。上下文爆炸与成本失控:多轮对话与工具调用轨迹(Tool Traces)包含海量冗余 Token,每次 API 请求都需要对全量历史重复计费,成本呈二次方上升。推理延迟(Latency)恶化:超长上下文会导致 GPU 在 Prefill 阶段的计算耗时大幅拉长,严重破坏实时交互体验。

2603_96126046的博客 312

22-DataCenter报文序列化

(put在循环后),解析侧遇到时continue不影响store循环——顺序无关但习惯上收尾。

yuhou25的博客 225

可以做年龄编辑的gan对抗网络(SAGAN)

把这 10 张(或更多年龄段)图片按顺序拼接,用 OpenCV 或 FFmpeg 导出为 MP4,就能看到“一个人”的年龄变化过程。:模型只学了 10 个离散年龄段(0~9),直接切换标签会导致五官突然“跳变”,无法生成 18岁→18.5岁 这种细腻变化。如果连续年龄回归,会更加的丝滑,接下来我们将修改一版连续年龄回归的代码,还是在这个的基础之上进行!,比如用预训练的 ArcFace 提取人脸特征,约束不同年龄帧的特征向量尽量接近。,会生成固定噪声下不同年龄的人脸图片,实现“编辑年龄”的效果。

有的话没说出来之前,你是他的主人,一旦说出来你就成了他的奴隶||想要干好事,别太把自己当人,别把别人太不当人||认识这个人就是开了一扇窗户,就能看到不一样的东西,听到不一样的声音,能让你思考、觉悟,这已经够了 218

2026科学实验能力大赛真题:护林飞行闯关解析

2026 首届全国青少年科学实验能力大赛决赛已于 8 月 20—22 日在济南收官,9 月起各赛区成绩陆续公布。这场白名单赛事鼓励青少年用"做中学"的方式呈现科学探究过程,而图形化编程正是把科普内容变成可交互作品的好工具。今天我们用一道原创项目题「护林飞行闯关」,带大家用 Scratch 做一个科普护林小游戏,把六大考点串成能玩的作品。

IT_Scratch的博客 206

基于Python的爱奇艺视频数据可视化分析系统

长视频平台剧集、评分、热度与评论数据体量大、维度多,手工汇总难以快速把握类型结构、口碑分布与主演导演影响力。系统采用 B/S 架构,后端入口为app.py,运行端口8060;数据库使用 MySQL(库名iqiyi),经 PyMySQL 访问。前台基于 Bootstrap 5、本地中的 ECharts 5 与 echarts-wordcloud,配合主题。业务表包括usersdramascommentsfavorites。数据可通过导入,或经/ 相关脚本补充样本。分析层在。

qq_35928134的博客 234

Java深入解析篇二十之JavaStream API详解

Stream(流)是引入的数据处理抽象,位于包。它表示从数据源产生的元素序列,并支持对其进行函数式、聚合式操作。不是集合:流不存储数据,只描述对数据的计算;不是 IO 流:与无关;惰性管道:中间操作只是登记,终端操作才触发实际计算。// 命令式写法(对照) // List<String> r = new ArrayList<>();

萧瑟余晖的博客 346

Django的手机数据分析与可视化

Django的手机数据分析与可视化系统 摘 要 本系统基于Django框架、HTML和MySQL数据库技术,构建了一个全面的手机数据分析与可视化平台。大屏内容丰富,包括品牌市场份额分布、手机价格区间分布、各维度评分分布、热门机型Top10、内存容量分布以及品牌评分与价格分析等多个模块。通过这些模块,用户可以直观地了解手机市场的整体趋势、各品牌的市场表现、手机价格分布情况、用户评分分布以及热门机型的详细信息。系统采用了先进的可视化技术,将复杂的数据以图表的形式呈现,使得数据更加易于理解和分析。 在管理功能方

weixin_41915110的博客 771

Pixhawk 6C — Mission Planner 烧录 & 全套校准教程

适用于自行编译的 ArduPilot 固件。

2301_76633800的博客 299

Python 并发编程】线程、进程、协程、同步/异步一次说清

同步是"等结果",异步是"结果来找我";异步的核心收益是等待期间能干别的活。进程开销大但真并行,线程轻量但被 GIL 限制,协程极轻量但只适合 IO 等待。IO 密集:并发量小用线程池,量大用 asyncio;CPU 密集:用进程池。这一条能解决 90% 的选型问题。多线程的坑在共享变量加锁异常被吞;多进程的坑在 if __name__ == '__main__'保护和序列化成本;协程的坑在误用同步阻塞调用卡死整个事件循环。

zy123456nn的博客 301
上一篇: 99. Interleaving String Leetcode Python
下一篇: 60. permutation sequence leetcode python
hyperbolechi
博客等级 码龄12年 7粉丝 178原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值