Leetcode-探索 | 两数之和

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

————————————————————————————————————————————

解题过程:

数组题,暴力。

附AC代码:

 1 class Solution(object):
 2     def twoSum(self, nums, target):
 3         """
 4         :type nums: List[int]
 5         :type target: int
 6         :rtype: List[int]
 7         """
 8         
 9         arrLen = len(nums)
10         for i in range(0, arrLen-1):
11             for j in range(i+1, arrLen):
12                 if nums[i] + nums[j] == target:
13                     return [i, j]
14         return []

————————————————————————————————————————————

复杂度分析

时间:考虑到目标元素对在数组中的位置,需要用概率平摊的分析方法,还没复习,暂不做分析;

空间:未使用附加空间。

————————————————————————————————————————————

题型总结:

数组处理,暴力;

回顾本题可以再想想更好的办法,查阅其他博客中的解法。

posted @ 2018-06-30 22:00  STUqza  阅读(139)  评论(0编辑  收藏  举报