LeetCode-Easy-Two sum problem
####原题目
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
```cpp
Given nums = [2, 7, 11, 15], target = 9,
```cpp
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
```
自己的第一遍解法
没有成功,连暴力破解都没有想到,走的思路是先进行快排,然后用二分查找,找到与目标数最接近或者是本身,再对区间内的数字进行检查。暂无代码
网上好的解法
三种方法,一种是暴力破解,另两种都是hash
return [0, 1].
```
自己的第一遍解法
没有成功,连暴力破解都没有想到,走的思路是先进行快排,然后用二分查找,找到与目标数最接近或者是本身,再对区间内的数字进行检查。暂无代码
网上好的解法
三种方法,一种是暴力破解,另两种都是hash
第一种暴力破解
在暴力破解中遇到的问题,两个指数指针未放好(造成了自己加上自己的错误),且自作聪明将其排序。
第二种解法
使用hash,并使用c++stl库中的unorder-map无序容器
hash思路清晰,主要思路是
将检测数组中的元素一个个与hash无序中的元素比对,其中使用find操作,加快速度,而未找到时,就将key与vaule再次放入。
获得的思考:
这种题目,就我目前来看就是数的匹配问题,这种问题用hash算法最好,因为能用key值将其编排出来,然后能找到思路。
在暴力破解中遇到的问题,两个指数指针未放好(造成了自己加上自己的错误),且自作聪明将其排序。
第二种解法
使用hash,并使用c++stl库中的unorder-map无序容器
hash思路清晰,主要思路是
将检测数组中的元素一个个与hash无序中的元素比对,其中使用find操作,加快速度,而未找到时,就将key与vaule再次放入。
获得的思考:
这种题目,就我目前来看就是数的匹配问题,这种问题用hash算法最好,因为能用key值将其编排出来,然后能找到思路。