找到数组中两个元素相加等于指定数的所有组合

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--;
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/shijianchuzhenzhi/p/12513686.html