LeetCode - 1 python实现

Posted caturra

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode - 1 python实现相关的知识,希望对你有一定的参考价值。

题意:给你一个整型的列表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("]
").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实现的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode解题思路及最佳代码 -- Python3实现 -- 更新中

LeetCode题目--有效的数独(python/Java实现)

leetcode 相交链表 python实现

Leetcode147-对链表进行插入排序(Python3实现)

leetcode NO.349 两个数组的交集 (python实现)

我在哪里更改此 Python 代码片段以将临时文件保存在 tmp 文件夹中?