Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの単列キーボード


すべてのキーが1行に並んだ特別なキーボードがあるとします。したがって、キーボードのレイアウトを示す長さ26の文字列(0から25までのインデックス)がある場合、最初は指がインデックス0にあります。文字を入力するには、指を次の文字のインデックスに移動する必要があります。指をインデックスiからインデックスjに移動するのにかかる時間は、| i--j|として表されます。したがって、文字列を入力する場合。 1本の指で入力するのにかかる時間を計算する関数を定義する必要があります。したがって、入力シーケンスが「abcdefghijklmnopqrstuvwxyz」で単語が「hello」の場合、出力は20になり、aからh、7、hからeは3、eからlは7になります。 lからlは0、lからoは3なので、合計は7 + 3 + 7 + 3 =20

これを解決するには、次の手順に従います-

  • dと呼ばれる1つのマップを作成し、z:=0
  • 0からキーボードフォーマット文字列kの長さまでの範囲のiの場合
    • d [k [i]]:=i
  • ans:=0
  • 単語の各文字iについて-
    • ans:=ans + | d [i] – z |
    • z:=d [i]
  • 回答を返す

例(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アプリケーションでコピーアンドペースト操作を実装するためのクロスプラットフォームのPythonモジュールの1つです。 Pythonアプリケーションで使用するには、次のコマンドを使用してインストールする必要があります。 pip install pyperclip クリップボードからテキストをコピーして画面に表示するアプリケーションを開発することで、実用的なユースケースを実装できます。さらに、コピーしたテキスト

  2. Python3のTkinterを使用したキーボードショートカット

    Tkinterウィンドウには、さまざまなアプリケーション開発に使用できる多くの機能が組み込まれています。いくつかのキーまたは関数を使用して、アプリケーションの特定の部分を実行する必要がある場合があります。これは、特定のキーを、操作の関数を含むコールバックにバインドすることで実現できます。キーは、マウスボタンからキーボードキーまで何でもかまいません。キーボードキーの組み合わせでコールバックをバインドすることもできます。 例 #Import the Tkinter Library from tkinter import * #Create an instance of Tkinter Frame