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-1:Two 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