微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

查找其最小和最大第一个元素之间具有最大差异的元组

如何解决查找其最小和最大第一个元素之间具有最大差异的元组

给定一个 (a,b) 形式的元素数组,其中 a 是整数,b 是字符串。
数组按 a一个元素排序。我们必须找到 string b
其中最低 a 和最高 a 之间的差异最大。

我的想法: 一个简单的方法是将每个字符串散列到一个 HashTable 中,确保没有两个相同的字符串
映射到同一个哈希表。现在考虑字符串 b 的任何存储桶,我们只需要存储
该桶中的两个两个元素,一个是迄今为止遇到的最大值,一个是遇到的最小值
直到现在。一旦填充了哈希表,我们就必须遍历所有字符串和
找出差异最大的那个。

在这可以在 O(N) 时间内运行
但这里唯一有问题的假设是字符串将进入不同的桶
这不能简单地通过 HashTable 的任何实现来保证,同时保持
插入、搜索删除的平均时间复杂度为 Theta(1)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。