//用字典方法来写
public List<int> twoSum (List<int> numbers, int target) {
//获取差数
int temp;
//创建一个链,存储下标
List<int> array = new List<int>();
//字典 数值 下角标
Dictionary<int, int> dic = new Dictionary<int, int>();
//先把第一个数加入字典中
dic.Add(numbers[0],0);
for(int i=1;i<numbers.Count;i++)
{
//求得差数数
temp = target - numbers[i];
//如果存在,符合差
if(dic.ContainsKey(temp))//判断 temp 是否存在dic自己定义的字典中
{
//dic[temp]
array.Add(dic[temp] + 1);
array.Add(i+1);
break;
}
//把数据加入表时检查是否重复 不重复就加入
if(!dic.ContainsKey(numbers[i]))
{
//先把数据加入字典
dic.Add(numbers[i], i);
}
}
return array;
}
BM50 两数之和
于 2023-08-23 22:16:10 首次发布