สมมติว่าเรามีรายการขององค์ประกอบที่เรียกว่า nums เราต้องตรวจสอบว่าตัวเลขทั้งหมดปรากฏคู่กันหรือไม่ เราต้องแก้โดยใช้ช่องว่างคงที่
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[8, 9, 9, 8, 5, 5] ผลลัพธ์จะเป็น True เพราะตัวเลขทั้งหมดเกิดขึ้นสองครั้ง
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
ถ้าขนาดของตัวเลขเป็นเลขคี่
-
คืนค่าเท็จ
-
-
เรียงเลขรายการ
-
สำหรับฉันในช่วง 1 ถึงขนาดของ nums ทำ
-
ถ้า nums[i] เหมือนกับ nums[i - 1] แล้ว
-
nums[i] :=0,
-
nums[i - 1] :=0
-
-
-
คืนค่า จริง เมื่อผลรวมขององค์ประกอบทั้งหมดที่มีอยู่ใน nums เท่ากับ 0 มิฉะนั้นเป็นเท็จ
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
def solve(nums): if len(nums) & 1: return False nums.sort() for i in range(1, len(nums)): if nums[i] == nums[i - 1]: nums[i] = nums[i - 1] = 0 return sum(nums) == 0 nums = [8, 9, 9, 8, 5, 5] print(solve(nums))
อินพุต
[8, 9, 9, 8, 5, 5]
ผลลัพธ์
True