1)先对数组进行快速排序
(2)左右指针查找
void findSumEqualTarget(int[] arr, int target,int len) {
    int first = 0;
    int last = len-1;
    int sum = 0;
    while(first < last ) {
        sum = arr[first] + arr[last];
        if (sum == target) {
            printf("%d,%d",arr[first],arr[last]);
            first++;
            last--;
        } else if (sum < target) {
            first++;
        } else {
            last--;
        }
    }
}

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-20
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-06
  • 2022-12-23
  • 2022-12-23
  • 2022-01-22
  • 2021-11-12
  • 2021-09-11
  • 2021-09-30
相关资源
相似解决方案