确定数组中总和为 X 的第一个 2 个数字的组合
给定一个数字数组和一个单独的数字,您如何确定该数组中两个数字的第一个组合,该组合将与另一个数字相加?
Given an array of numbers and a separate number, how would you determine the first combination of 2 numbers in that array that would total this single other number?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的,如果“第一个组合”并不意味着“第一个连续”,那么您需要:
请注意,这是伪代码。由于您没有指定语言,因此您必须自己处理类型和可接受的返回值。
Right and if "first combination" does not mean "first consecutive", then you'd need:
Note that this is pseudo code. Since you didn't specify a language you will have to handle types and acceptable return values yourself.
该解决方案使用额外的数据结构来跟踪数组中每个元素的差异(预期对)。
This solution uses additional data structure to keep track of the difference (expected pair) for each element in the array.
如果它是一个非常大的数组,您可以通过对其进行排序并进行二分搜索来加快搜索过程。像这样的东西:
If it is a very large array, you could speed up the search process by sorting it, and doing a binary search. Something like this:
您可以使用
You can use