สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องลบตัวเลขที่ปรากฏหลายครั้งในรายการ เรายังต้องรักษาลำดับของลักษณะที่ปรากฏในรายการเดิมด้วย
ดังนั้น หากอินพุตเป็น nums =[2, 4, 6, 1, 4, 6, 9] ผลลัพธ์จะเป็น [2, 1, 9] เนื่องจากองค์ประกอบเหล่านี้ปรากฏเพียงครั้งเดียว
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- dict :=แผนที่ใหม่
- สำหรับแต่ละ i ใน nums ทำ
- ถ้าฉันไม่ได้อยู่ใน dict แล้ว
- dict[i] :=0
- dict[i] :=dict[i] + 1
- ถ้าฉันไม่ได้อยู่ใน dict แล้ว
- ส่งคืนรายการที่มีองค์ประกอบทั้งหมด e เป็น nums โดยที่ dict[e] คือ 1
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, nums): dict = {} for i in nums: if i not in dict: dict[i] = 0 dict[i] = dict[i] + 1 return [k for k, v in dict.items() if v == 1] ob = Solution() nums = [2, 4, 6, 1, 4, 6, 9] print(ob.solve(nums))
อินพุต
[2, 4, 6, 1, 4, 6, 9]
ผลลัพธ์
[2, 1, 9]