ในบทความนี้เราจะมาดูวิธีการนับจำนวนคู่ของตัวเลขที่มีผลต่างเท่ากับ 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