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

โปรแกรมตรวจสอบเราสามารถหาองค์ประกอบสี่ตัวที่ผลรวมเท่ากับ k หรือไม่ใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums และค่า k เราต้องตรวจสอบว่ามีองค์ประกอบที่ไม่ซ้ำกันสี่รายการในรายการที่รวมกันเป็น k หรือไม่

ดังนั้น หากอินพุตเป็น nums =[11, 4, 6, 10, 5, 1] ​​k =25 ผลลัพธ์จะเป็น True ดังที่เรามี [4, 6, 10, 5] ซึ่งผลรวมคือ 25

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • เรียงเลขรายการ

  • n :=ขนาดของ nums

  • สำหรับฉันอยู่ในช่วง 0 ถึง n − 4 ทำ

    • สำหรับ j ในช่วง i + 1 ถึง n − 3 ทำ

      • l :=j + 1, h :=ขนาดของ nums − 1

        • ในขณะที่ l

          • ผลรวม :=nums[i] + nums[j] + nums[l] + nums[h]

          • ถ้า sum เหมือนกับ k แล้ว

            • คืนค่า True

          • มิฉะนั้นเมื่อรวม

            • l :=l + 1

          • มิฉะนั้น

            • ชั่วโมง :=ชั่วโมง − 1

  • คืนค่าเท็จ

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

คลาสโซลูชัน:def Solve(self, nums, k):nums.sort() n =len(nums) for i in range(n - 3):for j in range(i + 1, n - 2) :l, h =j + 1, len(nums) - 1 while l  

อินพุต

[11, 4, 6, 10, 5, 1], 25

ผลลัพธ์

จริง