परिचय
परिभाषा के अनुसार, विशिष्ट पहचानकर्ता अद्वितीय होना चाहिए। एक से अधिक पहचानकर्ता होने से अनपेक्षित डेटा प्राप्त करने के लिए समान कारण होते हैं। लेकिन कई स्रोतों से समवर्ती डेटा पहुंचने के साथ, विशिष्टता को सुनिश्चित करना मुश्किल हो सकता है। एक फ़ंक्शन लिखें पहचानकर्ताओं की एक सूची को विशिष्ट करता है।
यह संभवतः सबसे बुरी पहेली है, जो मैंने लिखी है, लेकिन आपको यह विचार मिलता है।
आवश्यकताएँ
शून्य या अधिक सकारात्मक पूर्णांकों की सूची को देखते हुए, पहले से लेकर अंतिम तक प्रत्येक संख्या पर निम्नलिखित नियम लागू करें:
- यदि संख्या अपनी तरह की पहली है, तो इसे रखें।
- यदि संख्या पहले से सामने आ गई है, तो इसे पूरी इनपुट सूची या किसी भी मौजूदा आउटपुट में कहीं भी नहीं पाए गए सबसे कम सकारात्मक पूर्णांक के साथ बदलें।
समाधान के लिए:
- समाधान एक कार्यक्रम या एक समारोह हो सकता है।
- इनपुट एक स्ट्रिंग, एक सरणी, तर्क या कीबोर्ड इनपुट के रूप में पारित हो सकता है।
- आउटपुट एक स्ट्रिंग, एक सरणी, या स्क्रीन पर मुद्रित हो सकता है।
- आउटपुट सूची के सभी नंबर अलग हैं।
मान्यताओं
- इनपुट सूची साफ है। इसमें केवल धनात्मक पूर्णांक होते हैं।
- एक सकारात्मक पूर्णांक में 1 से 2 31 -1 तक की सीमा होती है ।
- आपके प्रोग्राम के चरों के लिए 256 एमबी से कम मेमोरी उपलब्ध है। (मूल रूप से, 2,147,483,648-तत्व सरणियों की अनुमति नहीं है।)
परीक्षण के मामलों
Input: empty
Output: empty
Input: 5
Output: 5
Input: 1, 4, 2, 5, 3, 6
Output: 1, 4, 2, 5, 3, 6
Input: 3, 3, 3, 3, 3, 3
Output: 3, 1, 2, 4, 5, 6
Input: 6, 6, 4, 4, 2, 2
Output: 6, 1, 4, 3, 2, 5
Input: 2147483647, 2, 2147483647, 2
Output: 2147483647, 2, 1, 3
स्कोरिंग
बस एक साधारण कोड गोल्फ है। अगले सप्ताह इस समय तक सबसे कम बाइट की गिनती जीतती है।
6, 6, ...
देना चाहिए 6, 1, ...
?
6, 6, 4, 4, 2, 2
परीक्षण का मामला Adám की व्याख्या की पुष्टि करता है: अपेक्षित आउटपुट है 6, 1, 4, 3, 2, 5
, और नहीं 6, 1, 4, 2, 3, 5
।
6, 6, 1, 2, 3, 4, 5
→6, 7, 1, 2, 3, 4, 5