Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python หาคู่ที่ใกล้ที่สุดจากอาร์เรย์ที่จัดเรียงแล้ว 2 อาร์เรย์

ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้:

ข้อความปัญหา — กำหนดอาร์เรย์ 2 อาร์เรย์ ให้หาคู่ที่ใกล้ที่สุดจากอาร์เรย์ที่จัดเรียงแล้ว 2 อาร์เรย์

มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้:

ตัวอย่างโค้ด

# โมดูล sys
import sys

# ฟังก์ชันหาคู่
def print_(ar1, ar2, m, n, x):
    # ความต่าง
    diff = sys.maxsize
    # ดัชนี
    l = 0
    r = n - 1
    while (l < m and r >= 0):
        # คู่ที่ใกล้ที่สุด
        if abs(ar1[l] + ar2[r] - x) < diff:
            res_l = l
            res_r = r
            diff = abs(ar1[l] + ar2[r] - x)
        # ผลรวมของคู่
        if ar1[l] + ar2[r] > x:
            r = r - 1
        else:
            l = l + 1
    # แสดงผลลัพธ์
    print("The closest pair available is [", ar1[res_l], ",", ar2[res_r], "]")

# โปรแกรมหลัก
ar1 = [1, 3, 6, 9]
ar2 = [11, 23, 35, 50]
m = len(ar1)
n = len(ar2)
x = 20
print_(ar1, ar2, m, n, x)

ผลลัพธ์

The closest pair available is [ 9 , 11 ]

โปรแกรม Python หาคู่ที่ใกล้ที่สุดจากอาร์เรย์ที่จัดเรียงแล้ว 2 อาร์เรย์

ตัวแปรทั้งหมดถูกประกาศในขอบเขตท้องถิ่น (local scope) และการอ้างอิงของมันแสดงในรูปภาพด้านบน

สรุป

ในบทความนี้ เราได้เรียนรู้วิธีการเขียนโปรแกรม Python สำหรับหาคู่ที่ใกล้ที่สุดจากอาร์เรย์ที่จัดเรียงแล้ว 2 อาร์เรย์