1. 题目

1974. 使用特殊打字机键入单词的最少时间

2. 思路

关键的点就是:这是一个转盘,最多不会超过13步(26/2),如果顺时针走需要22步,那逆时针就只需要26-22=4步,根据charCodeAt这个api算出来dis,再根据dis的大小选择最少的步数。注意,键入的时候也是需要时间的,再加上这个时间。遍历整个字符串,将dis进行累加即可得到结果。

3. 代码实现

let word = "bza"
function minTimeToType(word) {const n = word.lengthlet cur = 'a', cnt = 0for (let i = 0; i < n; i++) {// console.log(word[i].charCodeAt(), cur.charCodeAt());let dis = Math.abs(word[i].charCodeAt() - cur.charCodeAt())if (dis > 13) {dis = 26 - dis}dis += 1 // 键入cnt += discur = word[i]}return cnt
}console.log(minTimeToType(word));

4. 参考

JavaScript使用charCodeAt计算两个字母间的差值

【leetcode】1974. 使用特殊打字机键入单词的最少时间(js实现)相关推荐

  1. LeetCode 1974. 使用特殊打字机键入单词的最少时间

    文章目录 1. 题目 2. 解题 1. 题目 有一个特殊打字机,它由一个 圆盘 和一个 指针 组成, 圆盘上标有小写英文字母 'a' 到 'z'. 只有 当指针指向某个字母时,它才能被键入.指针 初始 ...

  2. #力扣LeetCode1974. 使用特殊打字机键入单词的最少时间 @FDDLC

    题目描述: 1974. 使用特殊打字机键入单词的最少时间 - 力扣(LeetCode) (leetcode-cn.com) Java代码: class Solution {public int d(c ...

  3. C#版(击败97.76%的提交) - Leetcode 557. 反转字符串中的单词 III - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. Leetcod ...

  4. leetcode 58最后一个单词的长度 (js)

    leetcode58. 最后一个单词的长度 (js) 题目 代码 题目 给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度.如果字符串从左向右滚动显示,那么最后一个单词就是 ...

  5. Leetcode 557 反转字符串中的单词

    Leetcode 557 反转字符串中的单词 题目描述: 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例1: 输入:s = "Let's ...

  6. LeetCode 2187. 完成旅途的最少时间(二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个数组 time ,其中 time[i] 表示第 i 辆公交车完成 一趟旅途 所需要花费的时间. 每辆公交车可以 连续 完成多趟旅途,也就是说,一辆 ...

  7. LeetCode——1736. 替换隐藏数字得到的最晚时间(Latest Time by Replacing Hidden Digits)——分析及代码(Java)

    LeetCode--1736. 替换隐藏数字得到的最晚时间[Latest Time by Replacing Hidden Digits]--分析及代码[Java] 一.题目 二.分析及代码 1. 逐 ...

  8. LeetCode——1888. 使二进制字符串字符交替的最少反转次数(Minimum Number of Flips to Make the Binary ...)[中等]——分析及代码(Java)

    LeetCode--1888. 使二进制字符串字符交替的最少反转次数[Minimum Number of Flips to Make the Binary String Alternating][中等 ...

  9. leetcode 140. Word Break II | 140. 单词拆分 II(动态规划)

    题目 https://leetcode.com/problems/word-break-ii/ 题解 由 leetcode 139. Word Break | 139. 单词拆分(动态规划) 改造而来 ...

最新文章

  1. Bossy智能便贴:让工作更有效率
  2. python最佳实践指南试题_Python最佳实践指南 阅读笔记
  3. Windows phone 应用开发[2]-数据缓存
  4. python处理rgb_如何在Python中读取给定像素的RGB值?
  5. TestNG+Maven+IDEA环境搭建
  6. electron-关闭之前,弹出提示窗
  7. python 片段_python片段程序
  8. consul的安装配置 一centos7环境
  9. angular-代码段
  10. SQLite 事务控制
  11. python画折线图-利用python画折线图
  12. 通讯录标准化输入fread c语言,C语言实现通讯录系统
  13. 字体引起的用户密码错误
  14. linux检测摄像头驱动程序,linux usb 摄像头测试软件
  15. wps下一步快捷键_WPS表格常用快捷键大全(非常全面)
  16. 安卓APP逆向入门破解
  17. PS2022安装教程(附个人详细安装教程)
  18. 《畅玩NAS》 使用树莓派打造一个NAS服务器
  19. matlab神经网络工具箱的使用
  20. Lightoj1009 Back to Underworld(带权并查集)

热门文章

  1. npm run build 打包不成功解决
  2. 软考高级 真题 2018年上半年 信息系统项目管理师 综合知识
  3. c语言程序设计河北,C语言程序设计
  4. 洛谷P1070道路游戏题解--zhengjun
  5. 这是二叉搜索树吗? 天梯赛练习 数据结构瞎做QAQ
  6. 通过LECPServer打造一个免费开源的SCADA系统
  7. c语言换装游戏源代码,C语言游戏源代码
  8. 独家对话微软顶级代码女神潘正磊:Visual Studio 与 VS Code 的未来走向 | 人物志
  9. 做餐饮,抖音推广怎么做?
  10. 华为云位置服务器,gps云位置服务器