YOMEDIA
NONE

Tìm 2 số trong danh sách có tổng là 'k'

Theo dõi Vi phạm
ADSENSE

Trả lời (1)

  • def binarySearch(a, item, curr):
        first = 0
        last = len(a) - 1
        found = False
        index = -1
        while first <= last and not found:
            mid = (first + last) // 2
            if a[mid] == item:
                index = mid
                found = True
            else:
                if item < a[mid]:
                    last = mid - 1
                else:
                    first = mid + 1
        if found:
            return index
        else:
            return -1
    def findSum(lst, k):
        lst.sort()
        for j in range(len(lst)):
            # find the difference in list through binary search
            # return the only if we find an index
            index = binarySearch(lst, k -lst[j], j)
            if index is not -1 and index is not j:
                return [lst[j], k -lst[j]]
    print(findSum([1, 5, 3], 2))
    print(findSum([1, 2, 3, 4], 5))
      bởi Goc pho 26/11/2021
    Like (0) Báo cáo sai phạm

Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!

Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản

Gửi câu trả lời Hủy
 
NONE

Các câu hỏi mới

AANETWORK
 

 

YOMEDIA
AANETWORK
OFF