Python3学习之旅2-两数之和力扣
程序员文章站
2022-05-28 11:52:53
...
方法1:
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
lens = len(nums)
j = -1
for i in range(lens):
if (target-nums[i])in nums:
if (nums.count(target-nums[i]) == 1)&(target - nums[i] == nums[i]):# 判断是不是重复的数字
continue
else:
j = nums.index(target - nums[i],i+1) # 查找目标数字的下标
break
if j>0:
return [i,j]
else:
return []
需要注意的编程小细节:
- 对齐问题,最开始是有一个class类的
- if else这些后面是有冒号的语法问题
- 分析清楚题目,这道题目有个关键点:不能是重复的数字加和
- range、count、index函数的使用
方法2:
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
lens = len(nums)
j = -1
for i in range(1,lens):
temp = nums[:i] # 注意没有逗号
if (target - nums[i]) in temp:
j = temp.index(target - nums[i])
break
if j>=0:
return [j,i] # 注意这个是往前面找,所以j会比i小
else:
return []
上一篇: Python基础(三)---第一个Python程序
下一篇: JDOM 解析 XML文件
推荐阅读
-
关于力扣第一题 ---两数之和(多方法)
-
力扣题目汇总(两数之和Ⅱ-输入有序数组,删除排序数组中的重复项,验证回文串)
-
力扣题目(两数之和,回文数,猜数字大小,1比特与2比特字符)
-
Python3学习之旅2-两数之和力扣
-
力扣 1.两数之和
-
关于力扣第一题 ---两数之和(多方法)
-
LeetCode 力扣 1. 两数之和 哈希 暴力
-
力扣题目汇总(两数之和Ⅱ-输入有序数组,删除排序数组中的重复项,验证回文串)
-
【力扣1】两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
-
力扣题目(两数之和,回文数,猜数字大小,1比特与2比特字符)