### How to calculate First Common Ancestor of two Nodes in Binary Tree

First try to understand question. Its a binary tree, not a binary search tree…

July 08, 2019

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

```
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
```

Simply iterate over array 2 times, and look if the sum equals to target.

```
public int[] twoSum(int[] nums, int target) {
int l = nums.length;
for (int i=0; i<l; i++) {
for (int j=i+1; j<l; j++) {
if (nums[i] + nums[j] == target) {
return new int[]{i, j};
}
}
}
return null;
}
```

Whenever this kind of problem comes, one thing came in mind is using HashSet. But, this problem is not asking you to return the values that sum upto a target value. It is asking you to return indexes of numbers.

So, you have to maintain a *HashMap<Integer, Integer>*, which is like the number itself, and its index in the original array.
HashMap has the property of searching its key and value in *O(1)*.

While iterating, we just have to check whether arrary has the remaining difference else where in array or not. For this purpose, we are keeping a copy of array values and its index into a HashMap.

```
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> hashMap = new HashMap<>();
int l = nums.length;
for (int i=0; i<l; i++) {
int pairValue = target-nums[i];
if (hashMap.containsKey(pairValue)) {
return new int[]{i, hashMap.get(pairValue)};
}
if (!hashMap.containsKey(nums[i])) {
hashMap.put(nums[i], i);
}
}
return null;
}
```

First try to understand question. Its a binary tree, not a binary search tree…

Sorting Problems Merge Sort Quick Sort Heap Sort Bubble Sort Selection Sort…

Problem Statement You are given an n x n 2D matrix representing an image, rotate…

Problem Statement Given a string s, find the longest palindromic substring in s…

Min Priority Queue is a data structure which manage a list of keys(values). And…

Problem Statement Given a string s, return the maximum number of unique…

Problem Statement You are given a string text of words that are placed among…

Problem Statement You are given a rows x cols matrix grid. Initially, you are…

Problem Statement Given a string s, return the maximum number of unique…

Problem The Leetcode file system keeps a log each time some user performs a…

Problem Statement Replace all spaces in a string with ‘%20’ (three characters…

Problem Implement an algorithm to determine if a string has all the characters…