首页 > 其他 > 详细

1. Two Sum

时间:2017-09-24 00:19:23      阅读:384      评论:0      收藏:0      [点我收藏+]
class Solution {
public:
//int compare(const void * arg1, const void *arg2)
//{
//return (*(int*)arg1 - *(int*)arg2);
//}
vector<int> twoSum(vector<int>& nums, int target) 
{
        vector<int> res;
        vector<int> temp=nums;
        int left;
        int right;
        
        sort(nums.begin(),nums.end(),less<int>());
        //qsort(nums.begin(), nums.size(), sizeof(int), compare);
        left=0;right=nums.size()-1;
        while(left!=right)
        {
        	if(nums[left]+nums[right]==target)
			{
                bool l=0,r=0;
				for(int i=0;i<nums.size();i++)
                {
                    if(temp[i]==nums[left])
                    {
                         res.push_back(i);
                        break;
                    }
                }
                for(int i=nums.size()-1;i>=0;i--)
                {
                    if(temp[i]==nums[right])
                    {
                        res.push_back(i);
                        break;
                    }
                }
				break;
			 } 
			 else  if(nums[left]+nums[right]>target)
			 {
			 	right--;
			 }
			 else
			 {
			 	left++;
			 }
		}
		return res;
}

};

  

1. Two Sum

原文:http://www.cnblogs.com/xlqtlhx/p/7583505.html

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