算法通关村第十五关 | 黄金 | 超大规模数据场景

1.对 20GB 文件进行排序

有一个 20GB 的文件,每行一个字符串,对其进行排序。

这里可以使用分块方式来排序,先将每块进行排序,然后要逐步进行合并,也叫做外部排序。

2.超大文本中搜索两个单词的最短距离

有一个超大的文本文件,内部由许多单词组成,现在给定两个单词,要找出两个单词在文件中的最小距离。

用两个下标来记录两个单词的位置,一次循环中就可以不断移动和比较下标位置,找到最短距离。

3.从 10 亿数字中寻找最小的 100 万个数字

先排序肯定会占用很大的内存空间。

这时可以采用大顶堆,先给前 100 万个数字创建一个大顶堆,最大元素位于堆顶。

只有比堆顶元素小的才可以插入堆中,并删除原来的最大元素。

最后剩下的就是最小的 100 万个数字。

如果将数据换成流数据,几乎只能用堆来做。

如果对您有帮助,请点赞关注支持我,谢谢! ❤
如有错误或者不足之处,敬请指正! ❤
个人主页:星不易 ❤
算法通关村专栏:不易|算法通关村 ❤

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

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

相关文章

【UML】NO.2 UML必须了解的基础知识(举例)

目录 一、UML的构成 1.1 事物 1.2 关系 1.3 图 二、事物 2.1 结构事物 2.1.1 类(class) 2.1.2 接口 2.1.3 协作 2.1.4 用例 2.1.5 主动类 2.1.6 构件 2.1.7 节点 2.2 行为事物 2.2.1 交互 2.2.2 状态机 2.2.3 活动 2.3 分组事物 包 …

Unittest单元测试框架

Unittest介绍、单元测试用例的组织、测试用例的执行、测试用例的跳过 Unittest介绍 为什么要学习单元测试框架 测试用例的组织与运行需要单元测试框架的参与,从而满足不同测试场景的需要,单元测试框架提供了丰富的比较方法:实际结果与预期结…

Viewport Meta 标记:让网页适应各种设备的魔法符号

在我们用手机或平板电脑浏览网页时,你是否曾发现有些网页能够很好地适应屏幕,而有些却需要左右滑动才能完整显示内容?这就涉及到一个神奇的东西——Viewport Meta 标记。 最近本人在研究自适应的各自实现方法,比如media媒体查询、…

6个免费设计素材库,设计师都在用,赶紧收藏!

设计师应该都知道,在设计过程中找素材真的很费时间,有的时候全网翻遍都未必能找到自己想要的,以至于现在很多设计师都花钱去购买素材,你说要是拿去参赛或者商用还好,就拿平常设计来说你舍得花这个钱去买吗,…

ubuntu-base 20.04防火墙配置方法

ubuntu-base 20.04防火墙配置方法 在ubuntu-base 20.04 上配置防火墙可以使用 UFW(Uncomplicated Firewall)工具。以下是一些基本的防火墙配置命令: 1. 检查防火墙状态: sudo ufw status 2. 启用防火墙: sudo ufw…

numpy.resize(修改数据维度)

numpy.resize 函数用于调整数组的大小。它接受一个数组和一个新的形状作为参数,并返回具有新形状的新数组。如果新数组的大小大于原始数组的大小,resize 将重复原始数组的元素以填充新数组。如果新数组的大小小于原始数组的大小,则 resize 将…

亚马逊云科技Amazon Bedrock,现推出更多模型选择和全新强大功能

亚马逊云科技在re:Invent 2023上宣布推出Amazon Bedrock更多模型选择和强大功能,帮助客户更轻松地构建和规模化针对其业务定制的生成式AI应用程序。 Amazon Bedrock是一项全面托管的服务,用户可轻松访问来自AI21 Labs、Anthropic、Cohere、Meta、Stabili…

未能正确利用原型继承(js的问题)

考虑下面代码: BaseObject function(name) {if (typeof name ! "undefined") {this.name name;} else {this.name default} }; 上面代码比较简单,就是提供了一个名字,就使用它,否则返回 default: var firstObj n…

网页设计的灵感从哪来?试试这15个灵感网站

设计灵感网站是许多设计师必备的工具,因为它们提供了一个创造性的源泉,可以帮助设计师找到灵感和灵感,从而开发出惊人的设计。 推荐15个设计灵感网站,涵盖了平面设计、网页设计、UI设计等不同领域的设计。 即时设计资源广场 即…

shell学习帖子积累

.bashrc与.bash_profile区别_bashprofile和bashrc-CSDN博客 帖子2: $0 - 脚本名 $1 - 命令参数1 $# - 几个参数 $ - 参数分别是什么 $$ - 当前脚本PID $USER - 用户 $HOSTNAME - 主机名 $LINENO - 行号 $RANDOM - 随机数 $? - 返回函数结果 实例: abc.s…

Linux系统vim,gcc,g++工具使用及环境配置,动静态库的概念及使用

Linux系统vim,gcc,g工具使用及环境配置,动静态库的概念及使用 1. Linux编辑器-vim的使用1.1 vim的基本概念1.2vim的基本操作1.3vim正常模式命令集1.4vim末端模式命令集1.5简单的vim配置 2.Linux编译器-gcc/g的使用2.1 准备阶段2.2gcc的使用2.…

了解 git rebase

了解 git rebase 大多数人习惯使用 git merge 将更改从功能分支合并到主分支,但还有其他方法。我们是否曾经遇到过 git rebase 这个术语并想知道它是什么?或者我们可能听说过 rebase 和 merge ,但不确定何时使用哪个?不用担心&am…

企业架构LB-服务器的负载均衡之Haproxy实现

企业架构LB-服务器的负载均衡之HAProxy实现 学习目标和内容 1、能够通过HAProxy实现负载均衡 ###1、介绍 Introduction HAProxy, which stands for High Availability Proxy, is a popular opensource software TCP/HTTP LoadBalancer and proxying solution which can be ru…

力扣111. 二叉树的最小深度

给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:2 示例 2: 输入…

最大子段和问题

题目&#xff1a; 分治法求解思路&#xff1a; 代码&#xff1a; #include<iostream> using namespace std;int maxSum(int arr[], int left, int right) {int sum 0;if (left right){if (arr[left] > 0){return arr[left];}else{return 0;}}else{int center (l…

AWS攻略——子网

文章目录 分配子网给Public子网分配互联网网关创建互联网网关附加到VPC 给Public子网创建路由表关联子网 打通Public子网和互联网网关 创建Public子网下的EC2进行测试配置Private子网路由给Private子网创建路由表附加在Private子网 创建Private子网下的EC2进行测试创建实例在跳…

Java / Scala - Trie 树简介与应用实现

目录 一.引言 二.Tire 树简介 1.树 Tree 2.二叉搜索树 Binary Search Tree 3.字典树 Trie Tree 3.1 基本概念 3.2 额外信息 3.3 结点实现 3.4 查找与存储 三.Trie 树应用 1.应用场景 2.Java / Scala 实现 2.1 Pom 依赖 2.2 关键词匹配 四.总结 一.引言 Trie 树…

c++通讯录操作系统

实现功能 1、添加联系人 2、显示联系人 3、删除联系人 4、查找联系人 5、修改联系人 6、清空联系人 0、退出通讯录 //-封装函数显示该界面 如 void showmenu //-在main函数中调用封装好的函数 #include<iostream> #include<string> #define max 1000 using n…

如何使用京东商品SKU API获取商品的保修信息?

一、背景介绍 京东商品SKU API是京东开放平台提供的一套API接口&#xff0c;用于获取京东商城的商品SKU信息。保修信息是商品SKU信息中的重要组成部分&#xff0c;通过该API可以获取到商品的保修政策、保修期限等详细信息。本文将介绍如何使用京东商品SKU API获取商品的保修信…

【ClickHouse】ClickHouse与MySQL之间实时同步数据(MySQL引擎),将MySQL数据实时同步到clickhouse

参考1:MySQL(通过该配置实现了实时同步) 参考2:experimental MaterializedMySQL 参考3:[experimental] MaterializedMySQL(包含设置 allow_experimental_database_materialized_mysql) MySQL引擎用于将远程的MySQL服务器中的表映射到ClickHouse中&#xff0c;并允许您对表进行I…