C# || Two Sum – How To Get Two Numbers In Array Equal To Target Value Using C#
The following is a module with functions which demonstrates how to get two numbers in array equal to target value using C#.
1. Two Sum – Problem Statement
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.
Example 1:
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Output: Because nums[0] + nums[1] == 9, we return [0, 1].
Example 2:
Input: nums = [3,2,4], target = 6
Output: [1,2]
Example 3:
Input: nums = [3,3], target = 6
Output: [0,1]
2. Two Sum – Solution
The following is a solution which demonstrates how to get two numbers in array equal to target value.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
// ============================================================================ // Author: Kenneth Perkins // Date: Oct 28, 2021 // Taken From: http://programmingnotes.org/ // File: Solution.cs // Description: Demonstrates how to get two numbers equal to target value // ============================================================================ public class Solution { public int[] TwoSum(int[] nums, int target) { var result = new int[2]; // Use a map dictionary to keep track of the numbers already seen var seen = new Dictionary<int, int>(); // Go through numbers for (int index = 0; index < nums.Length; ++index) { // Subtract the target from the current array index. // The result of this operation is the second number // that is needed to equal the target value int remaining = target - nums[index]; // Check if we have 'seen' this remaining value before if (seen.ContainsKey(remaining)) { result[0] = seen[remaining]; result[1] = index; break; } // Save the number and index seen[nums[index]] = index; } return result; } }// http://programmingnotes.org/ |
QUICK NOTES:
The highlighted lines are sections of interest to look out for.
The code is heavily commented, so no further insight is necessary. If you have any questions, feel free to leave a comment below.
Once compiled, you should get this as your output for the example cases:
[0,1]
[1,2]
[0,1]
Leave a Reply