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