Service Now Interview Question
Staff EngineersCountry: United States
Interview Type: In-Person
Classic Two-sum problem. Sharing my solution in Python below.
def twoSum(nums, target):
seenNumbers = set()
for ind, num in enumerate(nums):
complement = target - num
if complement not in seenNumbers:
seenNumbers.add(num)
else:
return [complement, num]
return []
Test Code
print('Two Sum ->', twoSum([2,4,5,9,13], 17)) # OUTPUT: Two Sum -> [4, 13]
print('Two Sum ->', twoSum([2,4,5,9,13], 100)) # OUTPUT: Two Sum -> []
public class ArrayTest {
public static void main(String[] args) {
int target = 12;
int[] intArr = { 1, 3, 5, 7, 7, 8, 8, 9, -2, 14, -5, 0, 4 };
for (int i = 0; i < intArr.length; i++) {
for (int j = i + 1; j < intArr.length; j++) {
if (intArr[i] + intArr[j] == target) {
System.out.println(intArr[i] + ", " + intArr[j]);
}
}
}
}
}
Output =
3, 9
5, 7
5, 7
8, 4
8, 4
-2, 14
#include<bits/stdc++.h>
- amitkyadav September 13, 2018using namespace std;
int main(){
int n,k; //where k is target value and n is size of the array
cin>>n>>k;
int a[n],i,j;
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n;i++){
bool flag=false;
for(j=i+1;j<n;j++){
if(a[i]+a[j]==k){
flag=true;break;
}
}
if(flag)
break;
}
cout<<a[i]<<" "<<a[j];
return 0;
}