演算法練習之兩數之和
阿新 • • 發佈:2019-01-06
上週五(1.4號)看到群裡有再說力扣(https://leetcode-cn.com/)的演算法題,自己就去搜索了下,發現是練習演算法、資料庫、shell的平臺,很不錯。
週五下午在測試的間隙,自己做了一道簡單的演算法題,剛好把這兩天覆習的python的基礎知識複習了。
演算法題目:
python3程式碼
class Solution: def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int]""" hashmap=[] for i in range (0,len(nums)): anthor=target-nums[i] for j in range(i,len(nums)): if nums[j]==anthor and i !=j: hashmap.append(i) hashmap.append(j) return list (hashmap)
總結思路及知識點
1.題目要求:給定任意一列表(列表內容為數字),再給定一個目標值target,求列表中哪兩個數字加起來和等於target,返回兩個數字的下標(列表形式)
思路:
(1)使用迴圈的方式 第一個數字與其他數字進行相加,如果不等於target,繼續以第二個數字與第三個以後的數字進行相加,依次判斷 。。。。
(2)使用相減的方式
(3)迴圈的取值範圍
(4)不能將同一個數加兩次
2.知識點:
(1)for 迴圈(取值範圍) 、 range 函式、求列表長度的函式len
(2)空列表、列表的追加 append