为了账号安全,请及时绑定邮箱和手机立即绑定

在 GO 中处理大内存块

在 GO 中处理大内存块

Go
白板的微信 2021-10-25 20:00:50
是否有任何指南描述 Go 如何有效地解决以下用例:应用程序接收由分隔名称组成的 100M 字符串,每个名称最长为 1M。例如:“Ben;Aaron;Rich;Donna...”。需要按字母顺序打印出相同的名称而不会显着增加内存使用量(假设总共使用了 150M RAM)给定两个具有巨大内存块的集合(假设每个集合最多 1M)并且需要有效地将几个块从一个集合移动到另一个集合(无需大量额外的内存分配)
查看完整描述

1 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

  1. 我假设您无法修改字符串,因此字符串和字符串是不可变的(不是 []byte),因为删除任何此类限制会使任务变得微不足道。如果是这样,那么您可以创建带有字符串索引的附加结构并对其进行排序 (n*log(n)) 时间。只需Less以一种比较原始字符串中的子字符串的方式实现即可。

  2. 第二个是微不足道的 - 只需使用链表。


查看完整回答
反对 回复 2021-10-25
  • 1 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信