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

Python में सिंगल-रो कीबोर्ड

मान लीजिए, एक विशेष कीबोर्ड है जिसमें सभी कुंजियाँ एक ही पंक्ति में हैं। इसलिए यदि हमारे पास कीबोर्ड के लेआउट को दर्शाने वाली लंबाई 26 की एक स्ट्रिंग है (0 से 25 तक अनुक्रमित), प्रारंभ में हमारी उंगली सूचकांक 0 पर है। एक वर्ण टाइप करने के लिए, हमें अपनी उंगली को अगले वर्ण के सूचकांक पर ले जाना होगा। सूचकांक i से सूचकांक j तक उंगली ले जाने में लगने वाला समय |i - j| से दर्शाया जाता है। इसलिए यदि हम एक स्ट्रिंग टाइप करना चाहते हैं। हमें एक फ़ंक्शन परिभाषित करना होगा जो गणना करे कि एक उंगली से टाइप करने में कितना समय लगता है। इसलिए यदि इनपुट अनुक्रम "abcdefghijklmnopqrstuvwxyz" हैं और शब्द "hello" है, तो आउटपुट 20 होगा, क्योंकि a से h तक 7 होगा, फिर h से e तक 3, फिर e से l तक 7, फिर l से l तक 0, और l से o तक 3, इसलिए कुल 7 + 3 + 7 + 3 = 20

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • d नामक एक मैप बनाएं, और z := 0
  • i के लिए 0 से कीबोर्ड फॉर्मेट स्ट्रिंग k की लंबाई तक
    • d[k[i]] := i
  • ans := 0
  • word में प्रत्येक वर्ण i के लिए -
    • ans := ans + |d[i] - z|
    • z := d[i]
  • ans लौटाएं

उदाहरण (Python)

बेहतर समझ के लिए निम्न कार्यान्वयन देखें -

class Solution(object):
    def calculateTime(self, k, w):
        d = {}
        z = 0
        for i in range(len(k)):
            d[k[i]] = i
        ans = 0
        for i in w:
            ans += abs(d[i] - z)
            z = d[i]
        return ans
ob1 = Solution()
print(ob1.calculateTime("abcdefghijklmnopqrstuvwxyz", "hello"))

इनपुट

"abcdefghijklmnopqrstuvwxyz" "hello"

आउटपुट

20
  1. Python में कीबोर्ड से कॉपी किया गया टेक्स्ट कैसे पेस्ट करें? Python में कीबोर्ड से कॉपी किया गया टेक्स्ट कैसे पेस्ट करें?

    Python कई बिल्ट-इन लाइब्रेरी और मॉड्यूल प्रदान करता है जो विभिन्न Python एप्लिकेशन विकसित करने में अतिरिक्त सुविधाओं को लागू करने का एक तरीका प्रदान करते हैं। pyperclip किसी भी Python एप्लिकेशन में कॉपी-एंड-पेस्ट ऑपरेशन को लागू करने के लिए क्रॉस-प्लेटफ़ॉर्म Python मॉड्यूल में से एक है। इसे Python एप

  1. - पायथन में लगातार बाइनरी संख्याओं का संयोजन ज्ञात करने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है, हमें 1 से n तक के बाइनरी प्रतिनिधित्व को क्रम में एक-एक करके जोड़कर बने बाइनरी स्ट्रिंग का दशमलव मान ज्ञात करना है, यदि उत्तर बहुत बड़ा है तो उत्तर को 10^9 + 7 मॉड्यूलो वापस करें। इसलिए, यदि इनपुट है n = 4, तो आउटपुट 220 होगा क्योंकि, 1 से 4 तक बाइनरी प्रतिनिधित्

  1. Python 3 में Tkinter के साथ कीबोर्ड शॉर्टकट Python 3 में Tkinter के साथ कीबोर्ड शॉर्टकट

    Tkinter विंडो में कई इनबिल्ट फंक्शनैलिटी और फीचर्स होते हैं जिन्हें विभिन्न एप्लिकेशन डेवलपमेंट के लिए लिया और उपयोग किया जा सकता है। ऐसे मामले हो सकते हैं जब हमें एप्लिकेशन के किसी विशेष भाग को किसी कुंजी या फ़ंक्शन की मदद से चलाना हो। इसे कॉलबैक के साथ किसी विशेष कुंजी को बांधकर प्राप्त किया जा स