मान लीजिए कि हमारे पास एक अल्फ़ान्यूमेरिक स्ट्रिंग s है, हमें दूसरा सबसे बड़ा संख्यात्मक अंक ढूंढना है जो s में दिखाई देता है, यदि ऐसी कोई स्ट्रिंग नहीं है तो -1 लौटाएं।
इसलिए, यदि इनपुट s ="p84t3ho1n" जैसा है, तो आउटपुट 4 होगा क्योंकि अंक [1,3,4,8] हैं, इसलिए दूसरा सबसे बड़ा अंक 4 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
lst :=एक नया सेट
-
प्रत्येक लेट इन एस के लिए, करें
-
यदि let वर्णमाला नहीं है, तो
-
लेट में पूर्णांक के रूप में सम्मिलित करें
-
-
-
अगर lst <=1 का आकार है, तो
-
वापसी -1
-
-
lst छँटाई के बाद दूसरा अंतिम तत्व लौटाएँ
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def solve(s): lst = set() for let in s: if not let.isalpha(): lst.add(int(let)) if len(lst) <= 1: return -1 return sorted(list(lst))[len(lst) - 2] s = "p84t3ho1n" print(solve(s))
इनपुट
"hello", "hlelo"
आउटपुट
True