您的位置:68399皇家赌场 > 集群主机 > leetcode 1 - Two Sum (C#)

leetcode 1 - Two Sum (C#)

发布时间:2019-05-03 22:07编辑:集群主机浏览(63)

    Question

    Given an array of integers, return indices of the two numbers such that they add up to a specific target.

    You may assume that each input would have exactly one solution.

    Example:

    Given nums = [2, 7, 11, 15], target = 9,
    
    Because nums[0]   nums[1] = 2   7 = 9,
    return [0, 1].
    

     Solution

    public int[] TwoSum(int[] nums, int target)
    {
            #region solution 1 ,暴力破解法
    
             int[] newInt =null;
             for (int i = 0; i < nums.Length ; i  )
             {
                    for (int j = i   1; j < nums.Length ; j  )
                    {
                          if (nums[i] nums[j]==target)
                           {
                                newInt = new int[] { i, j };
                           }
                     }
              }
               return newInt;
    
               #endregion
    
                #region solution 2 ,dictionary<key,value>
    
                int[] arr = new int[2];
                Dictionary<int, int> dict = new Dictionary<int, int>();
                for (int i = 0; i < nums.Length; i  )
                {
                    int cha = target - nums[i];
                    if (dict.ContainsKey(cha))
                    {
                        arr[0] = dict[cha];
                        arr[1] = i;
                        break;
                    }
                    else
                    {
                        dict.Add(nums[i], i);
                    }
                }
                return arr;
    
                #endregion
            }                    
    

    OJ上的解法:

    第3个leetcode,侦查的是HashTable,C#中是Dictionary<key,value>

    本文由68399皇家赌场发布于集群主机,转载请注明出处:leetcode 1 - Two Sum (C#)

    关键词: 68399皇家赌场