程序员大前端时代

LetCode刷题记录--两数之和

2018-08-01  本文已影响2人  魏永_Owen_Wei

最近想要提升一下自己的算法基础,就定了一个小目标:刷完letcode上全部的题目。说做就做,从今天开始,每天坚持做,记录自己的解法和其他优秀的解法,努力学习,提升自己。

1.两数之和

题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:

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

这道题其实是比较简单的,而且限定了每个输入只对应一个答案。我想到了两种解决办法,一种是两层for循环,尝试所有的组合。另外一种是只进行一次轮询,用目标结果减去当前元素的值,获得预期的另一个元素,然后判断这个元素在不在数组中。下面是我给出的两种解法:

1.1 两层for循环穷举法
1.2 一次遍历,判断预期元素

官网的推荐解答和我的解法类似,大家可以自行查看。https://leetcode-cn.com/problems/two-sum/solution/

上一篇下一篇

猜你喜欢

热点阅读