LeetCode 3014[输入单词需要的最少按键次数I]

news/2024/11/15 16:00:05/文章来源:https://www.cnblogs.com/EricsT/p/18536946

题目

链接

LeetCode 3014[输入单词需要的最少按键次数I]

详情

实例

实例1

实例2

提示

题解

思路

一圈下来8个字母,每个字母按1次

二圈下来16个字母,前8个字母每个按1次,后8个字母,每个按2次

三圈下来24个字母,前8个字母每个按1次,中间8个字母,每个按2次,最后8个字母,每个按3次

四圈下来26个字母全包括,前8个字母每个按1次,中间8个字母,每个按2次,最后8个字母,每个按3次,剩余2个字母,每个按4次

 

例如1:(14个字母)

需要按1个整圈 (14 / 8 = 1)

第一圈按8个字母,每个按一次,共8次

第二圈按剩下的6个字母(14 % 8),每个按2次,共2 * 6 = 12 次

总共:(14 % 8) * (14 / 8 + 1) + 8 * 1 = 6 * (1 + 1) + 8 * 1 = 20 次

 

例如2:(16个字母)

需要按2个整圈(16 / 8 = 2)

第一圈按8个字母,每个按一次,共8次

第二圈按8个字母,每个按2次,共2 * 8 = 16 次

总共:(16 % 8) * (16 / 8 + 1) + 8 * 1 + 8 * 2 = 0 * (2 + 1) + 8 * 1 + 8 * 2 = 24 次

 

例如3:(26个字母)

需要按3个整圈 (26 / 8 = 3)

第一圈按8个字母,每个按一次,共8次

第二圈按8个字母,每个按2次,共2 * 8 = 16 次

第三圈按8个字母,每个按3次,共3 * 8 = 24 次

第四圈按2个字母(26 % 8),每个按4次,共 2 * 4 = 8 次

总共:(26 % 8) * (26 / 8 + 1) + 8 * 1 + 8 * 2 + 8 * 3 = 2 * (3 + 1) + 8 * 1 + 8 * 2 + 8 * 3 = 56 次

代码

class Solution {
public:int minimumPushes(string word) {size_t iSize = word.size();int n = iSize / 8;int iRet = (n + 1) * (iSize % 8);for (int i = 0; i < n ; i++)iRet += 8 * (i + 1);return iRet;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/829376.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解压缩支持文件时出错:灾难性故障处理方式

电脑系统WIN10,在反复安装卸载文件后,再安装软件时出现, 解压缩支持文件时出错: 灾难性故障在解决之前,卸载软件出现报错提示。手动删除软件所在目录,打算重装,也是出现同样的错误提示。 解决方法: 在此电脑--C:\Program Files (x86)\InstallShield Installation Inform…

cmu15545-哈希表(Hash Table)

基本概念 哈希和树一样,是数据库系统中用于访问数据的方法。空间复杂度:$O(n)$ 时间复杂度:$O(1)~ O(n)$ 权衡:更大的哈希空间(碰撞减少),还是更少的哈希空间(碰撞处理)? 哈希函数CRC-64(1975)MurmurHash (2008)Google CityHash (2011)Facebook XXHash (2012) 【最常…

实验3 类和对象-基础编程2

实验任务1: Button.hpp,Window.hpp,task1.cpp,源码,运行测试结果如下#pragma once#include <iostream> #include <string>using std::string; using std::cout;// 按钮类 class Button { public:Button(const string &text);string get_label() const;voi…

【论文系列】DDIM ---DDPM上的优化

What DDIM是啥? DDIM(Denoising Diffusion Implicit Models) 是一种扩散模型的变体,旨在加速图像生成过程并保持生成质量。它是在DDPM(Denoising Diffusion Probabilistic Models)的基础上发展出来的,提供了一种更高效的去噪采样过程,减少了采样所需的步骤数量。 Why D…

解决zip解压之后中文乱码问题

1、打开windows 设置 语言和区域2、打开管理语言设置3、取消勾选这个Beta,然后重启即可

VMware ESXi 6.7 U3u (ESXi670-202403001) 下载

VMware ESXi 6.7 U3u (ESXi670-202403001) 下载VMware ESXi 6.7 U3u (ESXi670-202403001) 下载 VMware ESXi 6 Extend Support Release 请访问原文链接:https://sysin.org/blog/vmware-esxi-6/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org产品简介 VMware ES…

VMware vCenter Server 6.7U3w 发布下载 - ESXi 集中管理软件

VMware vCenter Server 6.7U3w 发布下载 - ESXi 集中管理软件VMware vCenter Server 6.7U3w (安全更新) - ESXi 集中管理软件 集中式控制 vSphere 环境 请访问原文链接:https://sysin.org/blog/vmware-vcenter-6/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org…

H264码流的RTP封装

H264、RTP、视频编码一、RTP协议头: 1.RTP头定义:RTP协议头一般固定为12个字段,在每一个RTP数据包中都存在。各字段的含义如下: version(V):2bits:标识RTP的版本,当前协议版本固定为2. padding(P):1bits:填充位。默认0,如果为1,则在该报文的末尾填充一个或多个额外的…

批量计算遥感影像NDVI:Python代码

本文介绍基于Python中的gdal模块,批量基于大量多波段遥感影像文件,计算其每1景图像各自的NDVI数值,并将多景结果依次保存为栅格文件的方法~本文介绍基于Python中的gdal模块,批量基于大量多波段遥感影像文件,计算其每1景图像各自的NDVI数值,并将多景结果依次保存为栅格文件…

线程池创建方式

线程池创建方式一、方式一:通过ThreadPoolExecutor构造函数来创建(推荐) 方式二:通过 Executor 框架的工具类 Executors 来创建。Executors工具类提供的创建线程池的方法如下图所示: 可以看出,通过Executors工具类可以创建多种类型的线程池,包括:1. FixedThreadPo…

HTML基础练习

注意:全卷满分140+45分,时间40分钟。 全开卷,并允许联网查询。 凡是标注“不定项”的,每个选项均分总分,每错选或漏选一个均仅扣除该项得分。例如8分4选项题,答案为AD,选ABD得6分,A得6分,AB得4分。 所有题目均为人工阅卷,不需要特别遵守格式规范,均按照答案酌情给分…

将URDF模型文件导入Issac_Gym系列【1】

1 在solidworks中导出URDF文件 1 这里按照古月居老师的要求进行基本的配置 https://www.bilibili.com/video/BV1Tx411o7rH/?vd_source=fcddcf87e97b17fd530dc88db643aab3 关于catkin_ws这种ROS的工作环境的配置,具体可以参考我的这篇博客 https://www.cnblogs.com/myleaf/p/1…