ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาและแนวทางแก้ไขปัญหาที่กำหนด
คำชี้แจงปัญหา
จากอินพุตรายการ เราจำเป็นต้องค้นหาผลรวมของผลต่างสัมบูรณ์ระหว่างคู่ทั้งหมดในรายการ
แจกแจง() method เพิ่มตัวนับให้กับ iterable และส่งกลับในรูปแบบของการแจงนับประเภทวัตถุ
ในวิธีนี้ เรามีรายการ 'ส่วนต่าง' ซึ่งมีความแตกต่างโดยสิ้นเชิง
เราใช้สองลูปที่มีสองตัวแปรเริ่มต้น หนึ่งคือการวนซ้ำผ่านตัวนับและอีกอันสำหรับองค์ประกอบรายการ ในการทำซ้ำทุกครั้ง เราจะตรวจสอบว่าองค์ประกอบต่างๆ มีความคล้ายคลึงกันหรือไม่
หากไม่ ให้ค้นหาความแตกต่างแบบสัมบูรณ์และผนวกเข้ากับรายการส่วนต่าง
สุดท้าย เราพบผลรวมของรายการ เนื่องจากแต่ละคู่จะถูกนับสองครั้ง เราจึงหารผลรวมสุดท้ายด้วย 2 เพื่อให้ได้ค่าที่ต้องการและส่งคืน
ตัวอย่าง
def sumPairs(lst): diffs = [] for i, x in enumerate(lst): for j, y in enumerate(lst): if i != j: diffs.append(abs(x-y)) return int(sum(diffs)/2) # Driver program lst = [22,3,55,43] print(sumPairs(lst))
ผลลัพธ์
177
ตัวแปรและฟังก์ชันทั้งหมดได้รับการประกาศในขอบเขตสากลและแสดงไว้ด้านล่าง
บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับวิธีการค้นหาความแตกต่างที่แน่นอนระหว่างคู่ทั้งหมดในรายการ