/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static int[] findTwoSum(int[] nums, int target) {
HashMap
<Integer, Integer
> map
= new HashMap
<>();
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if (map.containsKey(complement)) {
return new int[] { map.get(complement), i };
}
map.put(nums[i], i);
}
return new int[] {}; // No solution found
}
public static void main
(String[] args
) { int[] nums = {2, 7, 11, 15};
int target = 9;
int[] result = findTwoSum(nums, target);
if (result.length == 2) {
System.
out.
println("Indices: " + result
[0] + ", " + result
[1]); } else {
System.
out.
println("No solution found."); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCiAgICBwdWJsaWMgc3RhdGljIGludFtdIGZpbmRUd29TdW0oaW50W10gbnVtcywgaW50IHRhcmdldCkgewogICAgICAgIEhhc2hNYXA8SW50ZWdlciwgSW50ZWdlcj4gbWFwID0gbmV3IEhhc2hNYXA8PigpOwoKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaW50IGNvbXBsZW1lbnQgPSB0YXJnZXQgLSBudW1zW2ldOwoKICAgICAgICAgICAgaWYgKG1hcC5jb250YWluc0tleShjb21wbGVtZW50KSkgewogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBpbnRbXSB7IG1hcC5nZXQoY29tcGxlbWVudCksIGkgfTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbWFwLnB1dChudW1zW2ldLCBpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBuZXcgaW50W10ge307IC8vIE5vIHNvbHV0aW9uIGZvdW5kCiAgICB9CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIGludFtdIG51bXMgPSB7MiwgNywgMTEsIDE1fTsKICAgICAgICBpbnQgdGFyZ2V0ID0gOTsKCiAgICAgICAgaW50W10gcmVzdWx0ID0gZmluZFR3b1N1bShudW1zLCB0YXJnZXQpOwogICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID09IDIpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJJbmRpY2VzOiAiICsgcmVzdWx0WzBdICsgIiwgIiArIHJlc3VsdFsxXSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJObyBzb2x1dGlvbiBmb3VuZC4iKTsKICAgICAgICB9CiAgICB9Cn0KCQkKCQ==