## C# || Contains Duplicate II – How To Determine Two Distinct Indices In Array Equal To Target Value Using C# The following is a module with functions which demonstrates how to determine two distinct indices in array equal to target value using C#.

1. Contains Nearby Duplicate – Problem Statement

Given an integer array nums and an integer k, return true if there are two distinct indices i and j in the array such that nums[i] == nums[j] and abs(i – j) <= k.

Example 1:

``` Input: nums = [1,2,3,1], k = 3 Output: true ```

Example 2:

``` Input: nums = [1,0,1,1], k = 1 Output: true ```

Example 3:

``` Input: nums = [1,2,3,1,2,3], k = 2 Output: false ```

2. Contains Nearby Duplicate – Solution

The following are two solutions which demonstrates how to determine two distinct indices in array equal to target value.

``` 2. Contains Nearby Duplicate - Solution C# // ============================================================================ // Author: Kenneth Perkins // Date: Dec 25, 2022 // Taken From: http://programmingnotes.org/ // File: Solution.cs // Description: Demonstrates how to determine two indices equal to target value // ============================================================================ public class Solution { public bool ContainsNearbyDuplicate(int[] nums, int k) { var set = new HashSet<int>(); for (int index = 0; index < nums.Length; ++index){ if (index > k) { set.Remove(nums[index - k - 1]); } if (!set.Add(nums[index])) { return true; } } return false; } }// http://programmingnotes.org/ 123456789101112131415161718192021 // ============================================================================//    Author: Kenneth Perkins//    Date:   Dec 25, 2022//    Taken From: http://programmingnotes.org///    File:  Solution.cs//    Description: Demonstrates how to determine two indices equal to target value// ============================================================================public class Solution {    public bool ContainsNearbyDuplicate(int[] nums, int k) {        var set = new HashSet<int>();        for (int index = 0; index < nums.Length; ++index){            if (index > k) {                set.Remove(nums[index - k - 1]);            }            if (!set.Add(nums[index])) {                return true;            }        }        return false;    }}// 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:

``` true true false ```