Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tìm ba phần tử từ ba mảng khác nhau sao cho tổng bằng giá trị cho trước trong Python


Cho ba mảng A, B, C và một giá trị sum. Ta cần kiểm tra xem có tồn tại ba phần tử a, b, c lần lượt từ ba mảng sao cho a + b + c = sum.

Ví dụ, nếu A = [2,3,4,5,6], B = [3,4,7,2,3], C = [4,3,5,6,7], sum = 12, thì kết quả là True vì 4 + 2 + 6 = 12 (4 từ A, 2 từ B, 6 từ C).

Thuật toán giải quyết

  • Duyệt ba vòng lặp lồng nhau qua các chỉ số i, j, k của ba mảng.
  • Nếu A[i] + B[j] + C[k] == sum thì trả về True.
  • Sau khi duyệt hết, trả về False.

Ví dụ minh họa

def is_sum_from_three_arr(A, B, C, sum):
    for i in range(len(A)):
        for j in range(len(B)):
            for k in range(len(C)):
                if A[i] + B[j] + C[k] == sum:
                    return True
    return False

A = [2, 3, 4, 5, 6]
B = [3, 4, 7, 2, 3]
C = [4, 3, 5, 6, 7]
sum_val = 12
print(is_sum_from_three_arr(A, B, C, sum_val))  # True

Đầu vào

[2,3,4,5,6], [3,4,7,2,3], [4,3,5,6,7], 12

Đầu ra

True