Hash表、快排与二分查找:两数之和

 

Hash表、快排与二分查找:两数之和插图亿华云

大家好,我是小风哥。

我在这个公众号写过很多计算机底层方向的文章,应许多读者的要求,从这篇文章起我们开始一个新的系列:数据结构与算法,原来的计算机底层方向也会继续更新。

数据结构与算法系列的前期以LeetCode题解为例来讲解,当到达一定量后总结程序员必备的算法思想以及必备的数据结构知识,这个系列的目的是让你:看得懂、学得会、写得出。

也欢迎大家在留言区打卡,准备春招的同学可以一起刷起来。

废话少说,开始今天的题目,这是数据结构与算法之LeetCode刷题系列第1篇。

今天的题目是两数之和,题目是这样的:

给定一个整数数组与一个target,在数组中找到两个数,其和等于target,并返回这两个数字的下标。

示例:

数组 nums = [2,7,11,15], target = 9,则输出[0,1],因为nums[0] nums[1] == 9

题目不难,解决方法也有很多种,我们依次来看一下,任何题目都可以从最简单的方法开始去想,以下代码均为C 。

暴力解法

我们首先固定一个数字,比如第一个数字2,然后遍历后面的元素,判断是否相加等于9,有就记录下来,没有则看下一个数字,也就是7,最终代码非常简单,其时间复杂度为O(n^2):

vector twoSum(vector

THE END
Copyright © 2024 亿华云