码迷,mamicode.com
首页 > 编程语言 > 详细

LeetCode - 1 python实现

时间:2019-01-05 00:14:06      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:class   tco   etc   split   get   for   rip   line   一个   

题意:给你一个整型的列表nums和target,要求返回[i,j]满足nums[i]+nums[j]=target

头一回用py,求别黑..(连helloWorld都没敲过QAQ
话说leetcode怎么连数据范围都没有

ps.顺便把输入程序也搞出来了

class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        dic0 = {}
        dic1 = {}
        length = len(nums)
        for i in range(length):
            if dic0.__contains__(nums[i])^dic1.__contains__(nums[i]) == True: # 1 0
                dic1[nums[i]]=i
            elif dic1.__contains__(nums[i]) == False: # 0 0
                dic0[nums[i]]=i
        for i in range(length):
            elem = nums[i]
            if target-elem == elem and dic1.__contains__(elem) == True:
                return [i,dic1[elem]]
            elif target-elem != elem and dic0.__contains__(target-elem) == True:
                return [i,dic0[target-elem]]

########################################

fileInput = []
with open(‘stdin.txt‘) as fp:
    for line in fp:
        fileInput.append(line)

lis = fileInput[0].lstrip("[").rstrip("]\n").split(",") # 不是标准的列表形式
nums = [int(chars) for chars in lis]
target = int(fileInput[1])

print(Solution.twoSum(Solution,nums,target))

input

[2,7,11,15]
9

output

[0,1]

LeetCode - 1 python实现

标签:class   tco   etc   split   get   for   rip   line   一个   

原文地址:https://www.cnblogs.com/caturra/p/10223023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!