Example 1:
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].
Example 2:
Input: nums = [3,2,4], target = 6
Output: [1,2]
Example 3:
Input: nums = [3,3], target = 6
Output: [0,1]
下方为 Example 1 解法
static void Main(string[] args) { TwoSum(); } private static void TwoSum() { var nums = new int[] { 2, 7, 11,15}; int target = 9; var result = TwoSum(nums, target); Console.WriteLine($"目标索引:{result[0]},{result[1]}"); Console.ReadKey(); } /// <summary> /// 两数之和 /// </summary> /// <param name="nums">数组</param> /// <param name="target">目标值</param> /// <returns></returns> private static int[] TwoSum(int[] nums, int target) { int left = 0; int right = nums.Length - 1; while(left < right) { int sum = nums[left] + nums[right]; if(sum == target) { return [left, right]; } else if(sum < target) { left++; } else if (sum > target) { right--; } } return [ -1, -1 ]; }