程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> leetcode 1,leetcode

leetcode 1,leetcode

編輯:C#入門知識

leetcode 1,leetcode


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上的解法:https://leetcode.com/articles/two-sum/

第一個leetcode,考察的是HashTable,C#中是Dictionary<key,value>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved