您现在的位置是:主页 > news > 如何做好购物网站/山东做网站

如何做好购物网站/山东做网站

admin2025/5/2 20:28:44news

简介如何做好购物网站,山东做网站,如何快速搭建自己的网站,厦门注册公司流程和费用多少给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums [2, 7, 11, 15], target …

如何做好购物网站,山东做网站,如何快速搭建自己的网站,厦门注册公司流程和费用多少给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums [2, 7, 11, 15], target …

6b1f56d72a9aa4541aed4aa08ccc8af9.png

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

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

示例:

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

这在LeetCode上面是一道简单的题,what?简单,( ╯□╰ ),我一开始都没想到怎么做,看了答案和评论,大致给出了下3种解题方法(使用Java实现)

方法1、暴力法,使用嵌套循环,也是最容易想到的方法,具体代码如下:

7a3624bd30444c3765fd9b4119c0419b.png

该方法使用了两个循环,第一个循环,循环n次,第二个循环(n-1)次,相对于,从第二个元素开始循环,所以时间复杂度为T(n)=O(n^2),空间复杂度为:O(n)=1

方法2、两遍哈希表(以空间换取速度)

8ede58cd529ab36f34c7c44b7e2590c8.png

该方法使用了两次迭代,也就是使用了两个for循环,具体思路都在代码里,该方法的时间复杂度为T(n)=O(n),但是空间复杂度加大了,我们这里创建了一个哈希表,哈希表中存储的数据取决于数组,存了n个元素,所以是T(n)=O(n)。

方法3、一遍哈希表

9acf016dfed74f3453ae63edaea6e13c.png

这里注意,不存在自己和自己比了,上面是两个循环,这里只有一个,每次放入之前都判断一下符合条件的值在不在里面,如果在,直接返回,不在,该数据放入哈希表中,因为放入哈希表的数据都是按数组索引的大小依次放的,所以返回的时候,应该先返回符合条件值的索引,再返回这次添加的那个元素的索引。

时间复杂度:T(n)=O(n)

空间复杂度:T(n)=O(n)

总结:这是简单的算法题,但是自己算法基础薄弱导致没有多种思路,对于大神来说肯定是简单的,但是对于我这种战斗力不足5的渣,还是继续努力吧,BATJ,必须得刷鸭。