मान लीजिए कि हमारे पास एक स्ट्रिंग है, हमें इसमें पहले आवर्ती चरित्र का सूचकांक खोजना होगा। अगर हमें कोई आवर्ती वर्ण नहीं मिल रहा है, तो -1 लौटाएं।
इसलिए, यदि इनपुट "एबकेड" जैसा है, तो आउटपुट 3 होगा, क्योंकि 'ए' फिर से इंडेक्स 3 पर मौजूद है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- नक्शा वर्णों को परिभाषित करें
- i के लिए 0 से लेकर s के आकार तक के लिए, करें
- अगर s[i] वर्णों में, तो
- वापसी मैं
- अन्यथा,
- chars[s[i]] :=chars[s[i]] + 1
- अगर s[i] वर्णों में, तो
- वापसी -1
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
from collections import defaultdict class Solution: def solve(self, s): chars = defaultdict(int) for i in range(len(s)): if s[i] in chars: return i else: chars[s[i]] += 1 return -1 ob = Solution() print(ob.solve("abcade"))
इनपुट
"abcade"
आउटपुट
3