2016 - 2024

感恩一路有你

九民纪要第64条 一道java面试题,20亿数字的文本排序,如何取前100?

浏览量:2779 时间:2021-03-28 15:54:14 作者:admin

一道java面试题,20亿数字的文本排序,如何取前100?

因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度为k,时间复杂度为nlogk

~]#include<stdio。H>//调用标准输入/输出函数需要此头文件,该函数是printf和scanf函数使用的voidmain()//主函数{inti,J,min,temp,a[10]printf(“please input:n”)//屏幕输出引号中的字符,然后替换(I=1I<=10I)的行)//输入10个数据{printf(“a[%D]=”,I)scanf(%D”,&A[I])}//读取数据函数printf(“n”)//wrap for(I=1I<=9i)//比较10个数据{min=I//为minfor(J=I 1J<=10J)分配每个比较的最小数据)//比较循环控制if(a[min]>A[J])min=J//temp=a[i]a[i]=a[min]//a[i]中存储的最小值是a[min]=temp}printf(“n从大到小为:n”)//输出字符(i=10I>=1I--)//循环数据printf(“]”,a[i])printf(“”)//输出每个数据的新行}

九民纪要第64条 二十四分之九等于64分之多少 什么乘九小于64

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。