Java 阵列处理算法
给定一个整数数组,从数组中给出两个整数,其相加得到一个数字N。这是最近在博客上讨论过的。有关解决方案,请参阅评论部分 从本质上讲,解决这个问题最有效的方法是将数字放入哈希_映射中,然后第二次在数组中循环检查每个元素x,如果哈希_映射中存在元素(N-x) 您可以从那里进行一些优化,但这是总体思路。遵循以下步骤: 1.使用O(n logn)中的合并排序按降序对数字进行排序(也可以是升序,但本文假定它们按降序排序) 2.使用两个指针变量,一个指向起始元素(比如p1),另一个指向最后一个元素(比如p2) 3.现在添加*p1+*p2(临时总和=*p1+*p2),并将其与所需总和进行比较 重复这些步骤,直到p1>p2 i、 如果sum==temp_sum,那么我们的工作就结束了 ii.如果总和>温度总和,则减小p2,使其指向比其当前值更大的值,以便温度总和可以增加Java 阵列处理算法,java,arrays,Java,Arrays,给定一个整数数组,从数组中给出两个整数,其相加得到一个数字N。这是最近在博客上讨论过的。有关解决方案,请参阅评论部分 从本质上讲,解决这个问题最有效的方法是将数字放入哈希_映射中,然后第二次在数组中循环检查每个元素x,如果哈希_映射中存在元素(N-x) 您可以从那里进行一些优化,但这是总体思路。遵循以下步骤: 1.使用O(n logn)中的合并排序按降序对数字进行排序(也可以是升序,但本文假定它们按降序排序) 2.使用两个指针变量,一个指向起始元素(比如p1),另一个指向最后一个元素(比如p2)
iii.如果sum