zoukankan      html  css  js  c++  java
  • LeetCode--1.TwoSum

    LeetCode--1.TwoSum

    Given an array of integers, return indices of the two numbers such that they add up to a specific target.

    You may assume that each input would have exactly one solution, and you may not use the same element twice.

    Example:

    Given nums = [2, 7, 11, 15], target = 9,
    
    Because nums[0] + nums[1] = 2 + 7 = 9,
    return [0, 1].
    

    首先想到的直接两个循环不就完了,代码如下:

    #include<iostream>
    #include<vector>
    using namespace std;
    
    class Solution
    {
    public:
    	vector<int> twoSum(vector<int>& nums, int target)
    	{
    		vector<int> res;
    		for (int i = 0; i < nums.size() - 1; ++i)
    		{
    			for (int j = i + 1; j < nums.size(); ++j)
    				
    				if (nums[i] + nums[j] == target)
    				{
    					res.push_back(i);
    					res.push_back(j);
    					break;
    				}
    		}
    		return res;
    	}
    };
    int main()
    {
    	vector<int> nums{ 2,7,11,15 };
    	int target = 9;
    	Solution s;
    	vector<int> res = s.twoSum(nums, target);
    	system("pause");
    	return 0;
    }
    

    结果提交了之后超时了=。=

    20170921更新
    同样的思想,用Python过了~

    class Solution:
        def twoSum(self, nums, target):
            """
            :type nums: List[int]
            :type target: int
            :rtype: List[int]
            """
            d= []
            for i in range(len(nums)):
                if nums[i] not in d:
                    d.append(target-nums[i])
                else:
                    return (d.index(nums[i]), i)
    
  • 相关阅读:
    【CLR Via C#】2 程序集
    值类型与引用类型
    .Net Framework简介
    【CLR Via C#】15 枚举类型与位类型
    Dictionary的用法及用途
    枚举
    GitExtensions使用教程
    Bootstrap如何禁止响应式布局
    【StyleCop】StyleCop规则汇总
    优化SQL查询:如何写出高性能SQL语句
  • 原文地址:https://www.cnblogs.com/liutongqing/p/7499048.html
Copyright © 2011-2022 走看看