请给出一些算法题目,并用c#作答
时间: 2023-11-18 15:28:25 浏览: 91
好的,以下是一道经典的算法题目,希望能对您有所帮助。
题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
示例:
```
输入:nums = [2, 7, 11, 15], target = 9
输出:[0, 1]
解释:nums[0] + nums[1] = 2 + 7 = 9,因此返回 [0, 1]。
```
C# 代码实现:
```csharp
public int[] TwoSum(int[] nums, int target) {
Dictionary<int, int> dict = new Dictionary<int, int>();
for(int i = 0; i < nums.Length; i++) {
int complement = target - nums[i];
if(dict.ContainsKey(complement)) {
return new int[]{ dict[complement], i };
}
dict[nums[i]] = i;
}
return new int[0];
}
```
该算法的时间复杂度为O(n),使用哈希表可以快速地查找是否存在一对数和为目标值。
阅读全文