Replace all spaces in a string with %20
Problem Statement Replace all spaces in a string with ‘%20’ (three characters…
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 Key is the number itself, and value is 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 HashMap has the remaining difference. If its there, its a match. Else, keep a copy of this value and index in HashMap.
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;
}
Problem Statement Replace all spaces in a string with ‘%20’ (three characters…
Problem Statement Say you have an array prices for which the ith element is the…
Problem Statement Given a string s, return the maximum number of unique…
Problem Statement Given a signed integer, reverse digits of an integer. Return…
Problem Statement Roman numerals are represented by seven different symbols: I…
Problem Statement Determine whether an integer is a palindrome. An integer is a…
Introduction In this post we will see following: How to schedule a job on cron…
Introduction There are some cases, where I need another git repository while…
Introduction In this post, we will see how to fetch multiple credentials and…
Introduction I have an automation script, that I want to run on different…
Introduction I had to write a CICD system for one of our project. I had to…
Introduction Java log4j has many ways to initialize and append the desired…