题目描述
题目描述
题解
题解
提交记录
提交记录
简单

给你一个长度为 10、由数字组成的字符串 s。

拨号盘上的数字 0 到 9 按顺序排列,且拨号盘是环形的,因此 0 和 9 相邻。指针最初指向 0。

要按顺序拨出 s 中的每个数字,需要旋转指针,直到它指向该数字。每次旋转都会将指针移动到一个相邻的数字,你可以向任一方向旋转。如果指针已经指向要拨出的数字,则无需旋转。

返回拨出 s 中所有数字所需的最少总旋转次数。

 

示例 1:

输入: s = "0192837465"

输出: 25

解释:

步骤起始数字目标数字旋转次数
1000
2011
3192
4923
5284
6835
7374
8743
9462
10651

总旋转次数为 0 + 1 + 2 + 3 + 4 + 5 + 4 + 3 + 2 + 1 = 25,这是最少的总旋转次数。

示例 2:

输入: s = "1200210200"

输出: 12

解释:

步骤起始数字目标数字旋转次数
1011
2121
3202
4000
5022
6211
7101
8022
9202
10000

总旋转次数为 1 + 1 + 2 + 0 + 2 + 1 + 1 + 2 + 2 + 0 = 12,这是最少的总旋转次数。

 

提示:

  • s.length == 10
  • s 仅由数字 '0' 到 '9' 组成
 
代码
代码
测试用例
测试用例
测试结果
测试结果