---恢复内容开始---
对于每次开机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 };
==================================================================================
2017-3-12 leetcode 167 209 216
原文:http://www.cnblogs.com/xuwangzihao/p/6537838.html