Two sum: Difference between revisions
Content added Content deleted
m (J: fi is for #!/bin/sh not for J, so fix that...) |
(→{{header|Java}}: added Java) |
||
Line 134: | Line 134: | ||
<lang J>twosum=: ;@{.@(a:,~ ($ <@#: I.@,)@([ = +/~@]))</lang> |
<lang J>twosum=: ;@{.@(a:,~ ($ <@#: I.@,)@([ = +/~@]))</lang> |
||
=={{header|Java}}== |
|||
{{trans|Lua}} |
|||
<lang java>import java.util.Arrays; |
|||
public class TwoSum { |
|||
public static void main(String[] args) { |
|||
long sum = 13; |
|||
int[] arr = {0, 2, 11, 19, 90}; |
|||
System.out.println(Arrays.toString(twoSum(arr, sum))); |
|||
} |
|||
public static int[] twoSum(int[] a, long target) { |
|||
int i = 0, j = a.length - 1; |
|||
while (i < j) { |
|||
long sum = a[i] + a[j]; |
|||
if (sum == target) |
|||
return new int[]{i, j}; |
|||
if (sum < target) i++; |
|||
else j--; |
|||
} |
|||
return null; |
|||
} |
|||
}</lang> |
|||
<pre>[1, 3]</pre> |
|||
=={{header|Lua}}== |
=={{header|Lua}}== |