File tree Expand file tree Collapse file tree 1 file changed +49
-0
lines changed Expand file tree Collapse file tree 1 file changed +49
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number[] } nums
3
+ * @param {number } target
4
+ * @return {number[] }
5
+ */
6
+
7
+
8
+ // Time Complexity : O(n)
9
+ // Space Complexity : O(n)
10
+
11
+ var twoSum = function ( nums , target ) {
12
+
13
+ let map = new Map ( ) ;
14
+
15
+ for ( let i = 0 ; i < nums . length ; i ++ ) {
16
+
17
+ const temp = target - nums [ i ] ;
18
+
19
+ if ( map . has ( temp ) ) {
20
+ return [ i , map . get ( temp ) ]
21
+ }
22
+
23
+ map . set ( nums [ i ] , i ) ;
24
+ }
25
+
26
+ return [ ] ;
27
+ }
28
+
29
+
30
+ // Time Complexity: O(n^2)
31
+ // Space Complexity: O(1)
32
+ // This solution is straightforward but inefficient for large arrays. For better performance, consider the hashmap approach.
33
+
34
+ // var twoSum = function (nums, target) {
35
+
36
+ // for (let i = 0; i < nums.length; i++) {
37
+
38
+ // const loc = nums.indexOf((target - nums[i]), i + 1);
39
+
40
+ // if (loc >= 0) {
41
+ // return [i, loc]
42
+ // } else {
43
+ // continue;
44
+ // }
45
+
46
+ // }
47
+
48
+ // };
49
+
You can’t perform that action at this time.
0 commit comments