我有一个在文本文件中生成值的系统,其中包含如下值
第 1 行:可能的总值
第 2 行:数组中的元素数量
第 3 行(如果需要,额外的行):数字本身
我现在正在考虑一种方法,我可以从数组中的第一个整数中减去总值,然后在数组中搜索余数,然后做同样的事情直到找到对。
另一种方法是在排列组合的基础上将数组中的两个整数相加并找到对。
根据我的分析,第一个解决方案更好,因为它减少了迭代次数。我的分析在这里是否正确,还有其他更好的方法吗?
编辑:我将在这里给出一个示例以使其更清楚第 1 行:200 第 2 行 = 10 第 3 行:10 20 80 78 19 25 198 120 12 65
现在这里的有效对是 80,120,因为它总和为 200(在第一行中表示为输入文件中可能的总值)并且它们在数组中的位置将是 3,8。所以找到这对我列出了我的方法在哪里我取第一个元素,然后用可能的 Total 值减去它,然后通过基本搜索算法搜索另一个元素。
使用此处的示例,我首先取 10 并用 200 减去它得到 190,然后搜索 190,如果找到则找到该对,否则继续相同的过程。