我正在尝试制作一个算法,它接受两个包含n个整数的数组S和T以及整数k。该算法会检查数组中是否有整数s和t,使得它们的和等于k。(s在S中,t在T中。) 该算法的运行时间应为O(n log n)。
我试图想出一些方法来排序数组T,并使用for循环遍历S,然后使用二进制搜索来查找是否存在整数等于k-S [i],对于S中的每个元素。但是我认为这将始终具有大于n log n的运行时间。
我不是在寻求编写代码的人。只是想在这里获取一些想法。
我试图想出一些方法来排序数组T,并使用for循环遍历S,然后使用二进制搜索来查找是否存在整数等于k-S [i],对于S中的每个元素。但是我认为这将始终具有大于n log n的运行时间。
我不是在寻求编写代码的人。只是想在这里获取一些想法。