LeetCode Python刷題 1 兩數相加

2021-09-25 04:59:28 字數 1301 閱讀 2694

題目:給定乙個整數陣列nums和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。

示例:給定 nums = [2, 7, 11, 15], target = 9

返回:[0, 1]

為了測試**是否重複利用陣列元素,增加乙個給定:nums = [0, 3, 4, 0],target =0

返回:[0, 3]

**如下:

returnnums =

nums =

[int

(t)for t in

input

("請輸入一組整數陣列,以空格分開:"

).split()]

target =

int(

input

("請輸入目標值:"))

for i in nums:

nums_index = nums.index(i)

for t in nums[nums_index+1:

]:if t + i == target and

len(returnnums)!=2

:)1:

].index(t)

+(nums_index+1)

)print

("返回值:"

,returnnums)

編譯結果:

請輸入一組整數陣列,以空格分開:2 7 11 15

請輸入目標值:9

返回值: [0, 1]

請輸入一組整數陣列,以空格分開:0 3 4 0

請輸入目標值:0

返回值: [0, 3]

注意點:

①先把按一定格式輸入的數,儲存到列表裡面(這裡是nums)。

②利用for迴圈遍歷列表,因為兩數相加,需要遍歷兩次,但是第二次可以從第一次的索引後開始遍歷。因為:a+b=b+a,num[0]+num[1]=num[1]+num[0]。這樣可以減少不必要的時間。

③最後返回的是索引不是索引對應的值,所以需要利用index()。

④對於t的索引,我們是從「新」列表的起始位置開始遍歷,所以利用index找t值對應的索引,需要從「新」列表(nums[nums_index+1:])開始尋找。但是最終返回的索引值是針對「原」列表,所以需要加上(nums_index+1)。

Leetcode Python 刷題技巧之滑動視窗

總結 示例 pandas 是基於numpy 的一種工具,該工具是為了解決資料分析任務而建立的。如下 示例 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns impo...

LeetCode Python刷題 9 回文數

leetcode 9.回文數 題目 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例1 輸入 121 輸出 true 示例2 輸入 121 輸出 false 示例3 輸入 10 輸出 false def ispalindrome x falseflag 0...

LeetCode Python 打家劫舍I

你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示例 1 輸入 1...