Search This Blog

Saturday, 22 October 2022

Two Number Sum

int[] array = { 1, 2, 4, 5, 7, 8, 9, 6 };
int targetSum = 10;
int[] expectedResult = TwoNumberSum_Solution0(array, targetSum);

foreach (int item in expectedResult)
{
	Console.WriteLine(item);
}
      

Solution 1.
public static int[] TwoNumberSum_Solution0(int[] array, int targetSum)
{

    for (int i = 0; i < array.Length - 1; i++)
    {
        int firstNum = array[i];
        for (int j = i + 1; j < array.Length; j++)
        {
            int secondNum = array[j];
            if (firstNum + secondNum == targetSum)
            {
                return new int[] { array[i], array[j] };
            }
        }
    }
    return new int[0];
}
      

Solution 2
//using System.Collections.Generic;

public static int[] TwoNumberSum(int[] array, int targetSum)
{
    HashSet visited = new HashSet();

    foreach (int num in array)
    {
        int expectedResult = targetSum - num;

        if (visited.Contains(expectedResult))
        {
            return new int[] { expectedResult, num };
        }
        else
        {
            visited.Add(num);
        }
    }
    return new int[0];
}

Test case

{
  "array": [4, 5, -4, 8, 12, 1, -2, 6],
  "targetSum": 10
}

{
  "array": [4, 6],
  "targetSum": 10
}

{
  "array": [4, 6, 1],
  "targetSum": 5
}

{
  "array": [4, 6, 1, -3],
  "targetSum": 3
}

{
  "array": [1, 2, 3, 4, 5, 6, 7, 8, 9],
  "targetSum": 17
}

{
  "array": [1, 2, 3, 4, 5, 6, 7, 8, 9, 15],
  "targetSum": 18
}

{
  "array": [-7, -5, -3, -1, 0, 1, 3, 5, 7],
  "targetSum": -5
}

{
  "array": [-21, 301, 12, 4, 65, 56, 210, 356, 9, -47],
  "targetSum": 163
}

{
  "array": [-21, 301, 12, 4, 65, 56, 210, 356, 9, -47],
  "targetSum": 164
}

{
  "array": [3, 5, -4, 8, 11, 1, -1, 6],
  "targetSum": 15
}

{
  "array": [14],
  "targetSum": 15
}

{
  "array": [15],
  "targetSum": 15
}

No comments:

Post a Comment

Elasticsearch - Nodes, clusters, and shards

Elastic Stack Video - Load your gun in short time.   Beginner's Crash Course to Ela...

Recent Post