
Minimum Time to Type Word Using Special Typewriter (easy)
Problem Statement
You are given a circular keyboard that has all the lowercase English letters ('a' to 'z') laid out in a circle. You can type a particular character if the point is pointed to that character. Initially, a cursor points at the letter 'a'.
At each second, you can perform the following operation:
Move the cursoreitherone stepto theleftorright.- Type the letter where the pointer points currently.
Given a string word, return the minimum number of seconds to type out the characters in a word.
Examples
-
Example 1:
- Input:
"bad" - Expected Output: 8
- Justification: Start at 'a'. Move to 'b' (1 second), type 'b' (1 second), move to 'a' (1 seconds), type 'a' (1 second), move to 'd' from 'a' (3 second), and type 'd' (1 second). Total = 8 seconds.
- Input:
-
Example 2:
- Input:
"zigzag" - Expected Output: 32
- Justification: Start at 'a'. Move to 'z' (1 second), type 'z' (1 second), move to 'i' (9 seconds, choosing the shorter path), type 'i' (1 second), move to 'g' (2 seconds), type 'g' (1 second), move to 'z' (7 seconds), type 'z' (1 second), move to 'a' (1 second), and type 'a' (1 second), move to 'g' (6 seconds), type 'g' (1 second). Total = 32 seconds.
- Input:
-
Example 3:
- Input:
"ace" - Expected Output: 7
- Justification: Start at 'a', type 'a' (1 second), move to 'c' (2 seconds), type 'c' (1 second), move to 'e' (2 seconds), and type 'e' (1 second). Total = 7 seconds.
- Input:
Try it yourself
Try solving this question here:
Python3
Python3
. . . .
.....
.....
.....
Unlock this and all other premium problems.
No code editor for this lesson
This lesson focuses on concepts and theory