您的位置:首页 > 其它

leetcode 1 Two Sum

2018-03-04 22:36 369 查看
1Two Sum    37.00%查找数组中相加等于给定数字的两个元素
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Dec 24 13:56:44 2017

@author: vicky
"""

#1. Two Sum

class Solution:
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
a=list([0,0])
for i in range(len(nums)):
for j in range(i+1,len(nums)):
if nums[i]+nums[j]==target:
a=[i,j]
break
return(a)

#class Solution:
#    def twoSum(self, nums, target):
#        """
#        :type nums: List[int]
#        :type target: int
#        :rtype: List[int]
#        """
#        b={} #指针
#        for i in range(len(nums)):
#            b[nums[i]]=i
#            print(b)
#        #for i in range(len(nums)):
#            if (target-nums[i] in b):# and i<len(nums) and (target-nums[i]!=nums[i]):
#                print([b[target-nums[i-1]],i])
#                return([b[target-nums[i]]],i)

class Solution:
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
b={} #指针
for i in range(len(nums)):
if target-nums[i] in b:
#print([b[target-nums[i]],i])
return([b[target-nums[i]],i])
b[nums[i]]=i
#print(b)

class Solution:
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
b={} #指针
for i in range(len(nums)):
if target-nums[i] in b:
#print([b[target-nums[i]],i])
return([b[target-nums[i]],i])
b[nums[i]]=i
#print(b)

def stringToIntegerList(input):
return json.loads(input)

def integerListToString(nums, len_of_list=None):
if not len_of_list:
len_of_list = len(nums)
return json.dumps(nums[:len_of_list])

def main():
import sys
def readlines():
for line in sys.stdin:
yield line.strip('\n')

lines = readlines()
while True:
try:
line = lines.__next__()
nums = stringToIntegerList(line);
line = lines.__next__()
target = int(line);

ret = Solution().twoSum(nums, target)

out = integerListToString(ret);
print(out)
except StopIteration:
break

if __name__ == '__main__':
main()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: