ในบทความนี้เราจะมาดูวิธีการนับจำนวนคู่ของตัวเลขที่มีผลต่างเท่ากับ k ตัวเลขที่ระบุอยู่ในรูปของรายการและเราใส่ค่าของ k ให้กับโปรแกรม
ใช้สำหรับวนซ้ำ
ในแนวทางนี้ เราออกแบบลูปสองอัน อันหนึ่งอยู่ในลูปอีกอัน วงรอบนอกติดตามการเยี่ยมชมแต่ละองค์ประกอบของรายการที่กำหนด inner for loop จะคอยเปรียบเทียบองค์ประกอบที่เหลือแต่ละองค์ประกอบกับองค์ประกอบของลูปภายนอก และเพิ่มค่าของตัวแปรการนับหากตรงกับความแตกต่างที่ต้องการ
ตัวอย่าง
listA = [5, 3, 7, 2, 9]
k = 2
count = 0
# Elements of the list
for i in range(0, len(listA)):
# Make pairs
for j in range(i + 1, len(listA)):
if listA[i] - listA[j] == k or listA[j] - listA[i] == k:
count += 1
print("Required Pairs: ",count) ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Required Pairs: 3
การใช้ในขณะที่วนรอบ
ในอีกแนวทางหนึ่ง เราใช้ while loop alogn กับ if else clause ที่นี่เราเพิ่มค่าดัชนีปัจจุบันและดัชนีถัดไปโดยขึ้นอยู่กับว่าความแตกต่างระหว่างสองคู่นี้ตรงกับความแตกต่างที่ต้องการหรือไม่
ตัวอย่าง
listA = [5, 3, 7, 2, 9]
k = 2
count = 0
listA.sort()
next_index = 0
current_index = 0
while current_index < len(listA):
if listA[current_index] - listA[next_index] == k:
count += 1
next_index += 1
current_index += 1
elif listA[current_index] - listA[next_index] > k:
next_index += 1
else:
current_index += 1
print("Required Pairs: ",count) ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Required Pairs: 3