LeetCode-two sum:python解答陣列問題
問題描述:給定一個陣列和整型數字,找出陣列中兩個數加和為該整數的兩個數的下標
輸入:nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
輸出:return [0, 1].
首先,使用python來解題。對於列表的處理,python內建函式顯得很靈活,但執行效率上卻不讓人那麼滿意。
那麼,這裡就一起來回憶一下python中list資料型別的各種操作。
python中列表list可以存放各種資料型別(甚至包括你至今沒想到的型別,哈哈),比如說整型,字串,浮點數,類物件等。
初始化很簡單:test=[ ]#這是定義了一個空列表,並且下標是從0開始的,最後一個竟然會是-1,-len第一個元 素,len-1最後一個元素,呵呵
建立連續的list: test= range(1,5)
#即 L=[1,2,3,4],不含最後一個元素
取列表的長度length=len(test)
新增資料時,可以分為在尾部新增資料:test.append(var) #追加元素;
還可以在指定下標下新增元素:test.insert(index,var)#插入元素;
將一個列表追加到列表中去,test.extend(list) #追加list,即合併list到test上,另外 對於兩個列表的拼接可以直接使用加號:[1,2]+[3,4]=>[1,2,3,4]
刪除列表中的資料:根據指定位置index刪除 del test[index];
使用test.pop()刪除最後一個元素,也可以使用test.pop(index)刪除指定位置的元素
使用方法remove刪除:test.remove(index)
使用切片刪除:test=test[2:len(test)],這裡刪除了前兩個元素。
對列表進行排序:test.sort() 還有倒序排列:test.reverse()
列表還可以獲取某個元素在列表中出現的次數:test.count("winter")#搜尋元素"winter"在列表中出現的次數。
再來看看python對列表的遍歷方法:
1
for i in list:
#todo some thing with list[i],但是這種方法有個缺陷就是獲取不到該元素i在列表中的位置
2
for index in range(len(list)):
process(list[index])#這裡的index就是對應的列表中的位置
3 使用內建函式enumerate
for index, item in enumerate(sequence):
process(index, item)#這樣使用鍵值對的形式,對列表進行遍歷 index為下標位置,item為值
對於列表處理,我剛開始是使用的 for value in nums:的方式去完成的,結果肯定是提示超時了。
接著我使用的是第二種遍歷方式,也是提示超時,使用第三種方式才AC,哎~ 效率可想而知了。
附程式碼:
class Solution(object):
def twoSum(self, nums, target):
for k1,v1 in enumerate(nums):
for k2,v2 in enumerate(nums):
if (v1+v2)==target and k2>k1:
return [k1,k2]
相關文章
- Leetcode-Two SumLeetCode
- Python陣列中求和問題Python陣列
- Python list,dict問題解答Python
- LeetCode-Two Sum III - Data structure designLeetCodeStruct
- php陣列問題PHP陣列
- 用Python解答ProjectEuler問題(4)PythonProject
- 用Python解答ProjectEuler問題(3)PythonProject
- 用Python解答ProjectEuler問題(1)PythonProject
- 金幣陣列問題陣列
- java陣列的問題Java陣列
- 面試題:陣列按列排序的問題面試題陣列排序
- golang陣列問題,想了一個上午沒發現問題出在哪,求大神幫忙解答一下Golang陣列
- js陣列全排列問題JS陣列
- 陣列和指標的問題陣列指標
- leetcode題解(陣列問題)LeetCode陣列
- 簡單介紹最新python 字串陣列互轉問題Python字串陣列
- Python程式設計常見問題與解答Python程式設計
- 陣列效能問題分析總結陣列
- vue 陣列和物件渲染問題Vue陣列物件
- 陣列累加和問題三連陣列
- 陣列元素迴圈右移問題陣列
- [基礎問題] 陣列賦值陣列賦值
- 求子陣列的最大和問題陣列
- 子陣列異或和問題陣列
- JVM問題及解答JVM
- bzoj3155: Preprefix sum(樹狀陣列)陣列
- JS中的陣列複製問題JS陣列
- C++陣列預設初值問題C++陣列
- 陣列(引用型別)複製問題陣列型別
- 陣列和列表的轉換問題陣列
- 最大子陣列問題(Maximum subarray problem)陣列
- 最大子陣列和問題的解陣列
- 陣列解決約瑟夫環問題陣列
- LeetCode 之 JavaScript 解答第一題 —— 兩數之和(Two Sum)LeetCodeJavaScript
- 雙指標查詢陣列的連續規律子陣列問題指標陣列
- Docker面試問題與解答Docker面試
- Oracle常用問題及解答Oracle
- xmlhttp的問題,盼望解答XMLHTTP