1. 程式人生 > >Python學習:關於Two Sum問題的一些記錄

Python學習:關於Two Sum問題的一些記錄

題目:

'''
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.'''

1. 最開始的寫法:

class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        if len(nums) <1 :
            return false
        for i in range(len(nums)):
            temp=target-nums[i]
            if temp in nums.index
            while j<len(nums):
                sum=nums[i]+nums[j]
                if sum==target:
                    return i,j
                else:
                    j+=1
      

大部分例子都能通過,有一個出現瞭如下圖所示的提示:

2. 利用index改寫為:

class Solution:
    def twoSum(self, nums, target):       
        if len(nums) <1 :
            return false
        for i in range(len(nums)):
            temp=target-nums[i]
            if temp in nums:
                if i!=nums.index(temp):
                    return i,nums.index(temp)

3. 利用enumerate()來改寫:

class Solution:
def twoSum(self, num, target):
    d = dict()
    for index, number in enumerate(num):
        try:
            return ((d[target-number]+1, index+1))
        except:
            d[number] = index

看到有加了try的,感覺這樣很好,借鑑一下。

enumerate(sequence, [start=0])
  • sequence,序列或迭代物件等
  • start 下標起始位置
  • 返回值:返回列舉物件,
>>> sq=['one','two','three']
>>> for index,element in enumerate(sq):
print(index,sq[index])



0 one
1 two
2 three
>>> 

4. 

class Solution:
    # @return a tuple, (index1, index2)
    # 8:42
    def twoSum(self, num, target):
        map = {}
        for i in range(len(num)):
            if num[i] not in map:
                map[target - num[i]] = i + 1
            else:
                return map[num[i]], i + 1

        return -1, -1

相關推薦

Python學習關於Two Sum問題的一些記錄

題目:''' 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

python核心編程學習過程中的一些記錄

ges 學習 核心編程 一些記錄 Python標準庫 NPU 保持 whereis .py 1P18.python標準庫位置(一般是string.py所在的位置,也可以whereis python找找)C:\Python27\Lib/usr/lib64/python2.6

[python解法] LEETCODE 演算法題一two sum

題幹: 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 i

Python學習集合(set)

pythonpython的set和其他語言類似, 是一個無序不重復元素集, 基本功能包括關系測試和消除重復元素. 集合對象還支持union(聯合), intersection(交), difference(差)和sysmmetric difference(對稱差集)等數學運算. sets 支持 x in s

Python學習函數(function)

python編寫函數def是可執行的代碼。Python函數是有一個新的語句便攜的,即def。不像C這樣的編譯語言,def是一個可執行的語句,函數並不存在,知道Python運行了def後才存在。事實上,if語句、while語句升至是其他的 def中嵌套都是合法的。def創建一個函數對象,並將其賦值給某一變量名。

Python學習作用域(namespace)

pythonPython作用域基礎Python有四個作用域:L(Local)本地也稱作局部作用域;E(Enclosing)閉包函數外的函數中;G(global)全局作用域;B(Built-in)內建作用域;變量可以在三個不同的地方分配:如果一個變量在def內賦值,它被定位在這個函數之內。如果一個變量在嵌套的d

Python學習面向對象(OOP)

python類和實例1、類(class):有屬性有方法就是類。下面是Student類:class Student(object): def __init__(self, name, score): self.name = name self.score = score

Python學習基本數據類型與變量(中)與基礎之條件及循環(上)

sets 但是 while循環 spl view put 算數運算 sse 邏輯運算 一.數據類型和變量 1.可變與不可變數據類型   可變數據類型:在id不變的情況下,數據類型內部的元素可以改變   列表   字典   不可變數據類型:value改變,id也跟著改變

Python學習函數進階

eva hide con span money 技術分享 from 內部 size 本節要點:命名空間及作用域,函數嵌套,函數名本質,閉包 命名空間:   命名空間的本質:存放名字與值的綁定關系。 三種命名空間:   全局命名空間   局部命名空間   內置命名空間 三種命

python學習函數傳參數

函數傳參 參數 傳參數 bsp pri () python學習 for [1] #!/usr/bin/python import sys def isNum(s): for i in s: if i in ‘0123456789‘:

python學習字典排序

eve undle pat openss service cte x86_64 rac 排序 按字典值排序 按照字典value排序,類似sort -k 命令 import operator x= {1:2,3:4,4:3,2:1,0:0} sorted_x = so

leetcode算法Two Sum II - Input array is sorted

相加 bsp 滿足 目標 print -s pri ase res Given an array of integers that is already sorted in ascending order, find two numbers such that they

第一階段Python學習1、基礎知識、if語句、循環

定義變量 assert loop 所有 方法 right 源碼 under 速度 本文內容:   一、Python介紹級應用方向   二、Python 特性   三、hello world 程序   四、Python 格式化輸出   五、變量、數據類型、註釋   六、表達

LeetCode-1Two Sum

input ice spa number cau amp use assume cif 【Problem】 Given an array of integers, return indices of the two numbers such that they add up

python學習變量

變量##變量print("Hello World!") name = "xiguapi" name2 = name print(name,name2) name= "Jack" print ("What is the value name2

Python學習socket.gaierror: [Errno -8]

tro 啟動 socket error color strong 利用 body erro 在終端內打開python模式,利用如下代碼查詢本機hostname,這裏舉例為“xxMacBookPro.local”: import socket socket.gethostn

Python學習Mysql(三)索引

mit 生成 p s count between mysqld simple AS fault 1、索引 索引是表的目錄,在查找內容之前可以先在目錄中查找索引位置,以此快速定位查詢數據。對於索引,會保存在額外的文件中。 2、索引種類 普通索引:僅加速

Python學習快速搭建python環境

mage -c -h size IT pan python環境 ron info 一、安裝python   現在python有兩個比較大的版本一個是python3.x一個是python2.x,python3.x相當於與python2.x是一個比較大的升級,但是python3

Python學習5、if語句,while語句,函數以及商城示例

else 並且 參數傳遞 class color code 多個參數 else語句 參數 條件控制語句 if語句 簡單if判斷語句,當if後面的條件為真的時候,執行print(‘yes‘),否則執行else裏面的語句,print(‘No‘) if True: pr

Python學習7.文件操作

TP 功能 str bytes python解釋器 odin 調用 示例 過程 文件操作 我們曾將聽過一個問題,將大象放入冰箱分為三步:1、打開冰箱門,2、將大象放進去,3、關上冰箱門。今天我們要講的Python文件操作的步驟就像將大象放入冰箱的步驟一樣。 使用Python