# Solving Two Sum

## 11 September 2023

Let's take a look at solving Two Sum.

## Problem

Given an array of integers `nums` and an integer `target`, return indices of the two numbers such that they add up to `target`.

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

You can return the answer in any order.

## Thought Process

The first thing that I thought of was to use two `for` loops so that I could iterate through all the integers inside `nums` and sum them both up to see if they equal `target`.

The second thing that I thought of was to ensure that the inner `for` loop is always +1 of the outer loop, so that we can ensure that the same element is not repeated.

## Solution

``````public class Solution {
public int[] TwoSum(int[] nums, int target) {
for (int firstIndex = 0; firstIndex < nums.Length; firstIndex++) {
for (int secondIndex = firstIndex + 1; secondIndex < nums.Length; secondIndex++) {
if (nums[firstIndex] + nums[secondIndex] == target) {
return new int[] { firstIndex, secondIndex };
}
}
}

return new int[] { 0, 0 };
}
}``````
``````public class Solution {
public int[] TwoSum(int[] nums, int target) {
for (int firstIndex = 0; firstIndex < nums.Length; firstIndex++) {
for (int secondIndex = firstIndex + 1; secondIndex < nums.Length; secondIndex++) {
if (nums[firstIndex] + nums[secondIndex] == target) {
return new int[] { firstIndex, secondIndex };
}
}
}

return new int[] { 0, 0 };
}
}``````

This is probably not the best solution out there, but I think it is fast enough.

Back to Posts