首页 > 其他 > 详细

2017-3-12 leetcode 167 209 216

时间:2017-03-12 14:55:07      阅读:204      评论:0      收藏:0      [点我收藏+]

---恢复内容开始---

对于每次开机avast喊出的“已经检测到危害”实在忍无可忍了(它只能检测到不能根除很气。。)于是重装了系统,回到了win10感觉不赖。

================================================================================

leetcode167 Two Sum II

leetcode209 Minimum Size Subarray Sum

leetcode216 Combination Sum III

================================================================================

169讲的是
给你n个数字(非降序,可能重复),和一个数字target,在这n个数字中一定存在且只存在一组数字,相加等于target,输出他们的下标+1

我的思路
这道题是leetcode1的升级版,但是感觉难度是下降了啊。。。。和1的解法类似,只是不需要排序了,直接看代码吧。。

技术分享
 1 class Solution {
 2 public:
 3     vector<int> twoSum(vector<int>& numbers, int target) {
 4         int n=numbers.size();
 5         vector<int> &mynum=numbers;
 6         int myend=n-1,mybegin=0;
 7         vector<int> aim;
 8         while(1){
 9             while(mynum[mybegin]+mynum[myend]>target)
10                 myend--;
11             while(mynum[mybegin]+mynum[myend]<target)
12                 mybegin++;
13             if(mynum[mybegin]+mynum[myend]==target){
14                 aim.push_back(mybegin+1);
15                 aim.push_back(myend+1);
16                 break;
17             }
18         }
19         return aim;
20     }
21 };
169

==================================================================================

 

2017-3-12 leetcode 167 209 216

原文:http://www.cnblogs.com/xuwangzihao/p/6537838.html

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