LeetCode-Two Sum-解题报告

原创 2015年07月08日 21:32:42

原题链接 https://leetcode.com/problems/two-sum/

Given an array of integers, find two numbers such that they add up to a specific target number.

The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) are not zero-based.

You may assume that each input would have exactly one solution.

Input: numbers={2, 7, 11, 15}, target=9
Output: index1=1, index2=2 


在数组中找到2个数的和等于目标数。


使用一张hash表讲每个数出现的位置记录下来。


然后开始遍历数组。对于nums[i], 如果target-nums[i] 如果在hash表中存在 就可以结束遍历返回答案了。


class Solution {
public:
	vector<int> twoSum(vector<int>& nums, int target) {
		map<int, vector<int> >Hash;
		vector<int>ans;
		int i = 1;
		for (auto &item : nums)
		{
			Hash[item].push_back(i++);
		}
		i = 1;
		for (auto &item : nums)
		{
			vector<int>& tmp = Hash[target - item];
			if (!tmp.empty())
			{
				for (auto &index : tmp)
				{
					if (index != i)
					{
						ans.push_back(i);
						ans.push_back(index);
						return ans;
					}
				}
			}
			i++;
		}
		return ans;
	}
};


Maximum sum-动态规划

A - Maximum sum Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub...
  • qq_18661257
  • qq_18661257
  • 2015年07月25日 17:14
  • 928

A - Maximum sum-线性动态规划

Submit Status Description Given a set of n integers: A={a1, a2,..., an}, we define a func...
  • Joe19310
  • Joe19310
  • 2017年07月16日 10:56
  • 128

135.Combination Sum-数字组合(中等题)

数字组合 题目给出一组候选数字(C)和目标数字(T),找到C中所有的组合,使找出的数字和为T。C中的数字可以无限制重复被选取。 例如,给出候选数组[2,3,6,7]和目标数字7,所求的解为: [...
  • Tri_Color_Flag
  • Tri_Color_Flag
  • 2016年10月16日 16:13
  • 265

206.Interval Sum-区间求和 I(中等题)

区间求和 I 题目给定一个整数数组(下标由 0 到 n-1,其中 n 表示数组的规模),以及一个查询列表。每一个查询列表有两个整数 [start, end] 。 对于每个查询,计算出数组中从下标 s...
  • Tri_Color_Flag
  • Tri_Color_Flag
  • 2016年11月04日 23:25
  • 164

Minimum Size Subarray Sum-最小长度字数组和问题

Minimum Size Subarray Sum问题
  • dataGo
  • dataGo
  • 2016年05月19日 19:44
  • 217

94.Binary Tree Maximum Path Sum-二叉树中的最大路径和(中等题)

二叉树中的最大路径和 题目给出一棵二叉树,寻找一条路径使其路径和最大,路径可以在任一节点中开始和结束(路径和为两个节点之间所在路径上的节点权值之和) 样例给出一棵二叉树: 返回 6 题解 1....
  • Tri_Color_Flag
  • Tri_Color_Flag
  • 2016年10月08日 17:00
  • 287

最小生成树之Prim算法

普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。该算法于1930年由捷...
  • luomingjun12315
  • luomingjun12315
  • 2015年08月23日 07:28
  • 2369

CF#365-D. Mishka and Interesting sum-树状数组/线段树离线处理区间查询

http://codeforces.com/contest/703/problem/D 题意:求一组数的任意区间[L,R]内的  出现偶数次的异或和,如果 是奇数次,那直接就是前缀和咯。现在是偶数...
  • viphong
  • viphong
  • 2016年08月07日 21:36
  • 285

LeetCode-Two Sum(编程之美-快速寻找满足条件的两个数字)

Given an array of integers, find two numbers such that they add up to a specific target number. The...
  • My_Jobs
  • My_Jobs
  • 2015年02月06日 20:28
  • 1093

最大流=最小割=最小点权覆盖集=sum-最大点权独立集

二分图最小点覆盖和最大独立集都可以转化为最大匹配求解。 在这个基础上,把每个点赋予一个非负的权值,这两个问题就转化为:二分图最小点权覆盖和二分图最大点权独立集。   二分图最小点权覆盖     从x或...
  • u013491262
  • u013491262
  • 2014年04月19日 22:43
  • 682
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode-Two Sum-解题报告
举报原因:
原因补充:

(最多只允许输入30个字)