Leetcode-1

Leetcode-1题解

Posted by 顾小五 on September 12, 2018

大致题意

Two-Sum

就是给出一个目标值,在数组中找到两个数和为目标值的下标

解题思路

这个是一年半写的题= =!看了一下当时的AC代码,当时就是爆爆爆爆爆爆力AC

TIM截图20180912204148

现在看来可以说是非常的zz

看了看Runtime花费比较少的代码


vector twoSum(vector& nums, int target) {
	unordered_set s;
	vectorans;
	for (int i = 0; i < nums.size(); i++)
	{
		s.insert(nums[i]);
		if (s.count(target - nums[i]) == 1){
			for (int j = 0; j < i; j++)
				if ((target - nums[i]) == nums[j]){
					ans.push_back(j);
					ans.push_back(i);
					return ans;
				}

		}
				
	}
	return{ 0, 0 };
}
</code></pre>

其实思路是一样的,但是人家用了unordered_set容器,在查找的时候时间是O(1),省去了再去循环中查一圈的过程结果,所以时间复杂度由O(n^2)变成了O(n),善用STL库还是非常重要的