【Python:500强大厂招聘面试题】【找出数组中和为目标值的两个数】

题目介绍:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
解题思路:
本题有两个思路:
(1)使用双重循环,遍历每两个元素两两相加的结果,通过判断其和是否满足等于指定数字从而找出这两个元素。思路简单易懂,但是双重循环的时间复杂度为O(n^2),效率较慢。

(2)使用减法,将指定数字减去数组中的任一元素,判断所得的差是否在数组中,通过该元素的值来得到该元素的索引。只有一重循环,效率有所提高,但难点在于通过元素值来得到元素索引。

(3)通过emurate解决第二重遍历问题。

欢迎大家转发,一起传播知识和正能量,帮助到更多人。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘经纬老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值