给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

1、使用最容易理解的遍历数组进行查找

def solution(nums,target):#如果列表长度小于2,则直接结束if len(nums) < 2:return#两次循环列表,分别对列表中的所有可能的数字进行相加#循环两次列表对应的时间复杂度为O(n²)for i in range(0, len(nums) - 1):for j in range(i+1, len(nums)):if nums[i] + nums[j] == target:return [i, j]

2、使用哈希表,通过以空间换取速度的方式,我们可以将查找时间从 O(n)降低到 O(1)。在python中列表字典的即为哈希类型。

def solution(nums,target):#新建立一个空字典用来保存数值及其在列表中对应的索引dict1 = {}#遍历一遍列表对应的时间复杂度为O(n)for i in range(0, len(nums)):#相减得到另一个数值num = target - nums[i]#如果另一个数值不在字典中,则将第一个数值及其的索引报错在字典中#因为在字典中查找的时间复杂度为O(1),因此总时间复杂度为O(n) if num not in dict1:dict1[nums[i]] = i#如果在字典中则返回else:return [dict1[num], i]

原文出自:https://blog.csdn.net/Hanxianzhao/article/details/82780240

(python)给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的两个整数。相关推荐

  1. 给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。

    问: /** 给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数 ...

  2. 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标

    题目链接:https://leetcode-cn.com/problems/two-sum/solution/liang-shu-zhi-he-by-leetcode-2/ 给定一个整数数组 nums ...

  3. 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素不能使用两遍. ...

  4. JS实现 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    题目:(JS实现) 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 四种方法如下: 方法一:暴力破解法,和值匹配 //暴力 ...

  5. java,给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    标题:java,给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 一.示例 二.题解 方法一,暴力法:使用双重for循环,每 ...

  6. 给定一个整数数组 nums 和一个整数目标值 target, 请你在该数组中找出和为目标值 target 的那两个整数, 并返回它们的数组下标

    题目要求: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标. [注]从前往后进行匹配, 一旦匹配成功, 便结 ...

  7. 两数之和, 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。

    两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那两个整数,并返回它们的数组下标. 可以假设每种输入只会对应一个答案.但是,数组 ...

  8. 第1题 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标

    package com.leetcode; import java.util.ArrayList; import java.util.HashMap; import java.util.List; i ...

  9. 数据结构与算法--有序数组中找出和为s的两个数字

    有序数组中找和为s的两个数字 题目:输入一个递增排序的数组array, 和一个数字s, 在数组中找出两个数,使得这两个数的和是s,如果有多对,输出一对即可. 最简单方案 双循环,每次获取一个数据,和数 ...

最新文章

  1. 刨根问底——Handler
  2. Vue.js 基础指令实例讲解(各种数据绑定、表单渲染大总结)——新手入门、高手进阶第一篇
  3. c语言注释说明被计算机编译系统忽略,C语言程序设计(陈艳 2019-2020-2)-中国大学mooc-题库零氪...
  4. 审查元素找不到创建的元素_香奈儿除了珍珠,还有哪些你不知道的经典元素?答案在原文中找...
  5. 接口访问超时 504 Gateway Time-out 优化方案
  6. python硬件编程_Python学习日记_《Python硬件编程实战》笔记_Mr_Ouyang
  7. 跨浏览器(IE/FF/OPERA)JS代码小结
  8. Maven报错Please ensure you are using JDK 1.4 or above and not a JRE解决方法!
  9. fat,uat,pre等环境含义
  10. ape格式转换ogg格式用什么软件好
  11. win10专业版激活后变成教育版怎么改回专业版
  12. 什么是服务器防护,什么是硬防?什么是软防?
  13. indesign怎么拼图_自己动手制作个性相册
  14. 微信小程序学习3(wxss)
  15. 关于vue 动态引入(异步加载import和require)组件的方法和坑(按需懒加载组件,动态生成路由)babel-plugin-dynamic-import-node 优化编译速度
  16. it行业热门岗位推荐,高薪就业不发愁
  17. GAN 并不是你所需要的全部:从AE到VAE的自编码器全面总结
  18. codewars 一个很神奇的网站
  19. 让人愤怒的google协作平台
  20. 修复 office你的许可证不是正版_office你可能是盗版软件的受害者

热门文章

  1. 《计算机图形学》实验报告 Cohen Sutherland裁剪算法
  2. Oracle 补全数据
  3. 解决Xshell连接服务器失败:Could not connect to ‘192.168.191.128‘ (port 22): Connection failed.
  4. 读书破万“卷”:国民阅读洞察2022
  5. 精灵宝可梦剑正在维护服务器,最期待在《精灵宝可梦:剑/盾》中保留/回归的玩法功能...
  6. ARCOCAD 高级编程(DMIS代码)
  7. C++小型公司人员信息管理系统
  8. BC260连接阿里云
  9. jQuery表格增删改查
  10. 基于滑膜控制的后轮主动(ARS)和DYC的协调稳定性控制,上层ARS产生期望后轮转角度,DYC产生横摆力矩Mz