Algorithm 查找差值大于或等于D的两个元素

Algorithm 查找差值大于或等于D的两个元素,algorithm,sorting,range,Algorithm,Sorting,Range,假设您有一个数组 26442942 您希望找到两个差值大于6的元素。在这种情况下,一个可能的答案是9,2。如何在少于^2次的时间内完成此操作?只需扫描最小值和最大值即可。打开。只需扫描最小值和最大值。打开。想法。1 1您在lgn上对数字进行排序 2如果最后一个元素和第一个元素之间的差异是您的数字6。您找到了它们的第一个和最后一个元素。如果差异较小,则不存在此类元素 想法2 最小和最大元素。如果它们之间的差异小于搜索数,则不存在这样的元素对。时间:在想法上。1 1您在lgn上对数字进行排序 2如果

假设您有一个数组

26442942


您希望找到两个差值大于6的元素。在这种情况下,一个可能的答案是9,2。如何在少于^2次的时间内完成此操作?

只需扫描最小值和最大值即可。打开。

只需扫描最小值和最大值。打开。

想法。1

1您在lgn上对数字进行排序

2如果最后一个元素和第一个元素之间的差异是您的数字6。您找到了它们的第一个和最后一个元素。如果差异较小,则不存在此类元素

想法2

最小和最大元素。如果它们之间的差异小于搜索数,则不存在这样的元素对。时间:在想法上。1

1您在lgn上对数字进行排序

2如果最后一个元素和第一个元素之间的差异是您的数字6。您找到了它们的第一个和最后一个元素。如果差异较小,则不存在此类元素

想法2


最小和最大元素。如果它们之间的差异小于搜索数,则不存在这样的元素对。时间:在

上,只需在元素上循环,同时存储两个数字,即迄今为止获得的最小值和最大值

如果在任何时候,你发现这样一对满足条件,那就是你的答案。 如果到达数组的末尾,则不存在这样的对。
最坏情况时间:在

上,只需在元素上循环,同时存储两个数字,即迄今为止获得的最小值和最大值

如果在任何时候,你发现这样一对满足条件,那就是你的答案。 如果到达数组的末尾,则不存在这样的对。 最坏情况时间:开