Menu
CoddyTech

Two Sum

DễBămpython iconjava iconcpp iconc iconjs icon+10

Bạn nhận được một mảng số nguyên nums và một số nguyên target. Chính xác hai phần tử của nums ở hai vị trí khác nhau có tổng bằng target. Trả về chỉ số của hai phần tử đó, với chỉ số nhỏ hơn đứng trước.

Hàm

twoSum(nums: integer-array, target: integer) → integer-array
numsinteger-array
mảng số nguyên cần tìm kiếm
targetinteger
tổng của hai mục phải đạt đến
Trả vềinteger-array
hai chỉ số, chỉ số nhỏ hơn đứng trước

Ràng buộc

  • 2 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • -109 ≤ target ≤ 109
  • Chỉ có đúng một cặp vị trí khác nhau có tổng bằng target.

Ví dụ

Đầu vào
nums = [3, 8, 12, 5]target = 17
Đầu ra
[2, 3]
Giải thích
12 nằm ở chỉ số 2 và 5 nằm ở chỉ số 3, còn 12 + 5 = 17. Không có cặp nào khác có tổng bằng 17.
challenge icon

Câu hỏi mở rộng

Nếu nums đã được sắp xếp, bạn có thể tìm cặp số trong thời gian O(n) với chỉ O(1) bộ nhớ bổ sung không?

Đặt lại code
def twoSum(nums, target):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

nums = [3, 8, 12, 5]
target = 17

Đầu ra mong đợi

[2, 3]