You may assume that each input would have ** exactly one solution**, and you may not use the

You can return the answer in any order.

1
2
3

Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

1
2

Input: nums = [3,2,4], target = 6
Output: [1,2]

1
2

Input: nums = [3,3], target = 6
Output: [0,1]

Come up with an algorithm that is less than \(O(n^2)\) time complexity.

- \(2 <= nums.length <= 10^4\)
- \(-10^9 <= nums[i] <= 10^9\)
- \(-10^9 <= target <= 10^9\)
**Only one valid answer exists.**

- First step
- Second step
- Third step \(a * b = a ^ b\)

- Space: \(O(1)\)
- Time: \(O(n \log n)\)

Go

Rust

1
2
3
4
5
6
7

package main
import "fmt"
func main() {
fmt.Println("Hello world!")
}

1
2
3

fn main() {
println!("Hello world!");
}

You may assume that each input would have ** exactly one solution**, and you may not use the

You can return the answer in any order.

1
2
3

Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

1
2

Input: nums = [3,2,4], target = 6
Output: [1,2]

1
2

Input: nums = [3,3], target = 6
Output: [0,1]

Come up with an algorithm that is less than \(O(n^2)\) time complexity.

- \(2 <= nums.length <= 10^4\)
- \(-10^9 <= nums[i] <= 10^9\)
- \(-10^9 <= target <= 10^9\)
**Only one valid answer exists.**

- First step
- Second step
- Third step \(a * b = a ^ b\)

- Space: \(O(1)\)
- Time: \(O(n \log n)\)

Go

Rust

1
2
3
4
5
6
7

package main
import "fmt"
func main() {
fmt.Println("Hello world!")
}

1
2
3

fn main() {
println!("Hello world!");
}

You may assume that each input would have ** exactly one solution**, and you may not use the

You can return the answer in any order.

1
2
3

Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

1
2

Input: nums = [3,2,4], target = 6
Output: [1,2]

1
2

Input: nums = [3,3], target = 6
Output: [0,1]

Come up with an algorithm that is less than \(O(n^2)\) time complexity.

- \(2 <= nums.length <= 10^4\)
- \(-10^9 <= nums[i] <= 10^9\)
- \(-10^9 <= target <= 10^9\)
**Only one valid answer exists.**

- First step
- Second step
- Third step \(a * b = a ^ b\)

- Space: \(O(1)\)
- Time: \(O(n \log n)\)

Go

Rust

1
2
3
4
5
6
7

package main
import "fmt"
func main() {
fmt.Println("Hello world!")
}

1
2
3

fn main() {
println!("Hello world!");
}

** exactly one solution**, and you may not use the

You can return the answer in any order.

1
2
3

Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

1
2

Input: nums = [3,2,4], target = 6
Output: [1,2]

1
2

Input: nums = [3,3], target = 6
Output: [0,1]

Come up with an algorithm that is less than \(O(n^2)\) time complexity.

- \(2 <= nums.length <= 10^4\)
- \(-10^9 <= nums[i] <= 10^9\)
- \(-10^9 <= target <= 10^9\)
**Only one valid answer exists.**

- First step
- Second step
- Third step \(a * b = a ^ b\)

- Space: \(O(1)\)
- Time: \(O(n \log n)\)

Go

Rust

1
2
3
4
5
6
7

package main
import "fmt"
func main() {
fmt.Println("Hello world!")
}

1
2
3

fn main() {
println!("Hello world!");
}