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

अजगर में सिंगल-पंक्ति कीबोर्ड


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

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

  • d और z नाम का एक नक्शा बनाएं:=0
  • i के लिए 0 से लेकर कीबोर्ड प्रारूप स्ट्रिंग की लंबाई तक k
    • d[k[i]] :=i
  • उत्तर:=0
  • शब्द में प्रत्येक वर्ण के लिए −
    • उत्तर:=उत्तर + |d[i] - z|
    • z :=d[i]
  • वापसी उत्तर

उदाहरण (पायथन)

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

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. मैं पायथन में कीबोर्ड से कॉपी किए गए टेक्स्ट को कैसे पेस्ट करूं?

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

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

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

  1. पायथन 3 में टिंकर के साथ कीबोर्ड शॉर्टकट्स

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