【文件属性】:
文件名称:初级java笔试题-leetcodeDSAjava:力码练习!
文件大小:90KB
文件格式:ZIP
更新时间:2021-06-03 02:06:26
系统开源
初级java笔试题LeetCode
数据结构和算法
回购所有在
LeetCode
上完成的练习题等等。
结构中还包含数据structures
。
目录
简单的
二和
给定一个整数数组和一个整数
'target',返回一个由两个整数组成的整数数组,其总和等于
'target'。
第一次尝试:蛮力
我的直觉是遍历数组,查看两个整数的组合,并仅在尚未查看该组合的情况下检查总和是否等于“目标”。
我认为这种方法将在
O(n)
时间和
O(1)
空间中,因为循环不会查看
i
后面的元素,但对于更大的数组,这将近似为
O(n^2)*1/2
~
O(n^2)
时间,因为我们仍在查看第
i
个元素的所有其他元素。
我曾想过在某个时候使用哈希集,但出于错误的原因。
方法:时间和效率
蛮力
时间:O(n^2)
空间:O(1)
两程HT
时间:O(n)
空间:O(n)
说明:此方法首先遍历数组中的
n
个元素,将第
n
个值及其索引存储在哈希图中。
进行另一次遍历以检查补码
(target
-
array[i])
是否作为哈希表中的键存在。
如果是,则将索引与补码的索引一起返回。
对于第二次遍历,此查找时间
【文件预览】:
leetcodeDSAjava-master
----.gitignore(3KB)
----settings.gradle(360B)
----build.gradle(955B)
----src()
--------main()
--------test()
----gradlew(6KB)
----README.md(21KB)
----gradlew.bat(3KB)
----.idea()
--------jarRepositories.xml(859B)
----gradle()
--------wrapper()
----.gitattributes(154B)