技术解析
LeetCode 第一题: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。
#include
以上是 Java 代码,LeetCode 执行时间是 4ms.
class Solution {
public int[] twoSum(int[] nums, int target) {
Map tmpMap = new HashMap<>();
int tmpNumber;
for(int i=0, imax = nums.length; i
以上是 Java 代码,LeetCode 执行时间是 0ms.
using System.Collections.Generic;
public class Solution
{
public int[] TwoSum(int[] nums, int target)
{
Dictionary tmpTab = new Dictionary(1);
int tmpNumber;
for (int i = 0, imax = nums.Length; i < imax; ++i)
{
tmpNumber = nums[i];
if (tmpTab.ContainsKey(tmpNumber))
return new int[] { tmpTab[tmpNumber], i };
else
tmpTab[target - tmpNumber] = i;
}
return null;
}
}
以上是 CS 代码,执行时间竟然有 300ms