首页 > 其他 > 详细

TwoSum

时间:2020-03-04 01:23:36      阅读:116      评论:0      收藏:0      [点我收藏+]

TwoSum

两数之和,leetcode第一题,这里先写两种思路,哈希的之后补上。

未排序(n^2)

void TwoSum(int* arr,int target,int len){
    for(int i = 0;i < len;i++){
        for(int j = i+1;j < len;j++){
            if(arr[i]+arr[j] == target){
                cout<<arr[i]<<","<<arr[j]<<endl;
            }
        }
    }
}

已排序(n)

void TwoSumSorted(int* arr,int target,int len){
    int left = 0,right =len-1;
    while(left < right){
        int sum = arr[left] + arr[right];
        if(sum >target){
            right--;
        }
        else if(sum < target){
            left++;
        }
        else{
            cout<<arr[left]<<","<<arr[right]<<endl;
            left++;     //别忘了更新
            right--;
        }
    }
}

哈希表

TwoSum

原文:https://www.cnblogs.com/ziyuemeng/p/12405758.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!