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

โปรแกรมค้นหาองค์ประกอบที่ซ้ำกันจากตัวเลข n+1 ตั้งแต่ 1 ถึง n ใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums of length n + 1 ตัวเลขเหล่านี้ถูกเลือกจากช่วง 1, 2, ..., n อย่างที่เราทราบกันดีว่าการใช้หลักพิราบต้องมีการซ้ำซ้อน เราต้องหามันแล้วส่งคืน

ดังนั้นหากอินพุตเป็น [2, 1, 4, 3, 3] เอาต์พุตจะเป็น 3

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

  • l :=ขนาดของ nums
  • อุณหภูมิ :=l*(l-1) /2
  • temp_sum :=ผลรวมขององค์ประกอบทั้งหมดเป็น nums
  • ผลตอบแทน (temp_sum - ชั่วคราว)

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

ตัวอย่าง

class Solution:
   def solve(self, nums):
      l = len(nums)
      temp = l*(l-1)/2
      temp_sum = sum(nums)
      return temp_sum-temp
ob = Solution()
print(ob.solve([2, 1, 4, 3, 3]))

อินพุต

[2, 1, 4, 3, 3]

ผลลัพธ์

3