Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में लंबाई k और दूरी n वाली लेक्सिकोग्राफिकली सबसे छोटी लोअरकेस स्ट्रिंग खोजने का प्रोग्राम

मान लीजिए हमारे पास दो संख्याएं n और k हैं। हमें लंबाई k और दूरी n वाली लेक्सिकोग्राफिकली सबसे छोटी लोअरकेस स्ट्रिंग ढूंढनी है। दूरी वर्णमाला में अक्षर संख्या का योग है। उदाहरण के लिए, 'a' की अक्षर संख्या 1 है, 'b' की 2, 'y' की 25, 'z' की 26, इत्यादि।

उदाहरण के लिए, यदि इनपुट है n = 15, k = 3, तो आउटपुट "aam" होगा, क्योंकि "aam" लंबाई 3 की लेक्सिकोग्राफिकली सबसे छोटी स्ट्रिंग है जिसकी दूरी 1 + 1 + 13 = 15 है।

एल्गोरिदम

  1. dist := आकार k का ऐरे, 1 से भरा हुआ
  2. credit := n - k
  3. i := k - 1
  4. while credit > 0:
    • val := min(credit, 25)
    • dist[i] := dist[i] + val
    • credit := credit - val
    • i := i - 1
  5. chr(d - 1 + ord('a')) को प्रत्येक d के लिए जोड़कर स्ट्रिंग बनाएं और लौटाएं

उदाहरण कार्यान्वयन

def solve(n, k):
    dist = [1] * k
    credit = n - k
    i = k - 1
    while credit > 0:
        val = min(credit, 25)
        dist[i] += val
        credit -= val
        i -= 1
    return "".join(chr(d - 1 + ord("a")) for d in dist)

n = 15
k = 3
print(solve(n, k))  # आउटपुट: aam

इनपुट

15, 3

आउटपुट

aam
  1. - पायथन प्रोग्राम: 2D ऐरे में k-वां सबसे छोटा एलिमेंट खोजना

    एक n×n यूजर इनपुट इंटीजर मैट्रिक्स दिया गया है और k का मान। हमारा कार्य 2D ऐरे में k-वां सबसे छोटा एलिमेंट ढूंढना है। यहां हम heapq मॉड्यूल का उपयोग करते हैं। पायथन में हीप क्यू (या heapq) उपलब्ध है। इस मॉड्यूल की तकनीक यह है कि हर बार हीप एलिमेंट का सबसे छोटा पॉप किया जाता है (मिन हीप)। nsmallest()

  1. - पायथन प्रोग्राम: स्ट्रिंग में मिरर कैरेक्टर्स खोजना

    एक यूजर इनपुट स्ट्रिंग और पोजिशन दी गई है, उस पोजिशन से हमें स्ट्रिंग की लंबाई तक अल्फाबेटिकल ऑर्डर में कैरेक्टर्स को मिरर करना है। इस ऑपरेशन में, हम a को z में, b को y में, c को x में, d को w में बदलते हैं और इसी तरह, यानी पहला कैरेक्टर लास्ट बन जाता है और इसी तरह।Input: p = 3 Input string = python

  1. - पायथन प्रोग्राम: लिस्ट में सबसे बड़ा, सबसे छोटा, दूसरा सबसे बड़ा, और दूसरा सबसे छोटा ढूंढना

    ऐरे दिया गया है, हमें अधिकतम, न्यूनतम, दूसरा सबसे बड़ा, दूसरा सबसे छोटा नंबर ढूंढना है।एल्गोरिदमचरण 1: लिस्ट एलिमेंट इनपुट करें। चरण 2: हम एक नंबर लेते हैं और इसकी तुलना लिस्ट में मौजूद सभी अन्य नंबर्स से करते हैं। चरण 3: अधिकतम, न्यूनतम, दूसरा सबसे बड़ा, दूसरा सबसे छोटा नंबर प्राप्त करें।उदाहरण कोड