做的好的农产品网站有哪些,站嗨免费建站系统,文山seo公司,畜牧业网站建设列表两数之和
给定一个已按照非递减顺序排列的整数数组numbers,请你从数组中找出两个数满足相加之和等于target
函数应该以长度为2的整数数组的形式返回这两个数的下标值。numnbers的下标值从1开始#xff0c;所以答案数组应当满足1answer[0]answer[0]numbers.len…列表两数之和
给定一个已按照非递减顺序排列的整数数组numbers,请你从数组中找出两个数满足相加之和等于target
函数应该以长度为2的整数数组的形式返回这两个数的下标值。numnbers的下标值从1开始所以答案数组应当满足1answer[0]answer[0]numbers.length
你可以假设每个输入只对应唯一的答案而且你不可以重复使用相同的元素
示例
输入numbers[2,7,11,15],target9
输出[1,2]
提示
1,numbers按照非递减顺序排列
2仅存在一个有效答案
3,2 numbers.length
import timeclass Solution(object):staticmethod # 修饰def twosum(numbers, target): # 定义函数并传递参数d {} # 空字典size 0 # 索引while size len(numbers): # 如果索引小于列表长度控制迭代范围if not numbers[size] in d: # 确保无重复元素如果字典中没有则添加d[numbers[size]] size 1 # 按次向字典中添加key和value,字典的key是列表参数中的元素value是元素在列表中的位置print(d, d) # 打印当前字典print(target - numbers[size], target - numbers[size], size, size) # 打印当前差值及元素在列表中的位置if target - numbers[size] in d: # 如果 差target - numbers[size]在字典中if d[target - numbers[size]] size 1: # 确认位置数据在有效区间找到的数据在目前的数据位置(size1)之前因为是先添加的数据及位置避免出现一下情况输入ns [2, 11, 7, 15] target 22输出[2,2]answer [d[target - numbers[size]], size 1] # 通过差值及字典找到第一个数的位置信息size1直接找到第二数的位置return answer # 返回列表size size 1time.sleep(1)ns [2, 11, 7, 15] # 列表
tg 9 # 目标和
st Solution()
print(f{tg}:,st.twosum(ns, tg))
print(---------------)