Leetcode3014. 输入单词需要的最少按键次数 I

力扣代码自动评测- Benchmark 下面给出了一种电话键盘上字母到按键的映射作为示例。"x" -> 在按键 2 上按一次 "y" -> 在按键 2 上按两次 "c" -> 在按键 3 上按一次 "d" -> 在按键 3 上按两次 "e" -> 在按键 4 上按一次 "f" -> 在按键 5 上按一次 "g" -> 在按键 6 上按一次 "h" -> 在按键 7 上按一次 "i" -> 在按键 8 上按一次 "j" -> 在按键 9 上按一次 总成本为 1 + 2 + 1 + 2 + 1 + 1 + 1 + 1 + 1 + 1 = 12。 阅读详情

Every day a Leetcode

题目来源:3014. 输入单词需要的最少按键次数 I

解法1:统计

统计字符串 word 的小写字母个数和 1、#、*、0 的个数。

将小写字母均匀地分配到 8 个按键上,模拟即可。

代码:

/*
 * @lc app=leetcode.cn id=3014 lang=cpp
 *
 * [3014] 输入单词需要的最少按键次数 I
 */

// @lc code=start
class Solution
{
public:
    int minimumPushes(string word)
    {
        // 特判
        if (word.empty())
            return 0;

        const string special = "1*#0";
        int count_sp = 0, count_alpha = 0;
        for (char &c : word)
        {
            if (special.find(c) != string::npos)
                count_sp++;
            else
                count_alpha++;
        }
        int ans = 0, x = 1;
        while (count_alpha >= 8)
        {

            ans += 8 * x;
            x++;
            count_alpha -= 8;
        }
        ans += count_alpha * x + count_sp;
        return ans;
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n),其中 n 是字符串 s 的长度。

空间复杂度:O(1)。

解法2:数学

题目里说了字符串 s 中只要小写字母,所以不用统计 1、#、*、0 这 4 个特殊字符的出现次数。

在这里插入图片描述

代码:

// 数学

class Solution
{
public:
    int minimumPushes(string word)
    {
        // 特判
        if (word.empty())
            return 0;

        int n = word.length();
        int k = n / 8;
        return (k * 4 + n % 8) * (k + 1);
    }
};

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(1)。

空间复杂度:O(1)。

Inside NAND Flash Memories.中文版. Chatper 2 [2.1-2.2.1] 2.1 Introduction 半导体存储器分类: RAM:Random Access Memories--掉电丢失 ROM:Read Only Memories--只读,出厂时写好;掉电不丢失;不可更改。 NVM:Non-Volatile Memories--电可擦除/写入,并且掉电不丢失。第一类产品为EPROM memory (Erasable Programmable Read... 阅读详情

相关推荐

PRPD图谱分析从入门到精通:5种典型放电模式的识别手册

本文详细解析PRPD图谱分析技术,重点介绍电晕放电、悬浮放电等5种典型放电模式的识别方法。通过37组真实案例对比,提供关键识别区和诊断流程图模板,帮助工程师快速掌握变电站设备状态监测的核心技能,提升绝缘缺陷诊断准确率。

weixin_29214199的博客 474

Leetcode3016. 输入单词需要的最少按键次数 II

Leetcode3016. 输入单词需要的最少按键次数 II

ProgramNovice的博客 477

Vercel静态站被墙别慌!手把手教你用Cloudflare免费CDN+域名解析搞定DNS污染

本文详细介绍了如何利用Cloudflare免费CDN和域名解析解决Vercel静态网站遭遇DNS污染的问题。通过诊断DNS污染、设计Cloudflare解决方案架构、实战配置步骤以及高级调优技巧,帮助用户快速恢复站点访问并提升防护能力。

weixin_27442001的博客 707

Leetcode 2268. Minimum Number of Keypresses [Python]

把字母出现的次数统计出来,从多到少排序,出现次数多的字母尽可能排在第一轮就可以按到,也就是press1次,以此类推到press 2次,press 3次。 class Solution: def minimumKeypresses(self, s: str) -> int: Counter = collections.Counter(s) newCounter = [] for c,num in Counter.items():

sinat_30403031的博客 566

【自动驾驶】汽车智能驾驶计算芯片

本文介绍汽车智能驾驶计算芯片的软硬件要求、 可靠性和安全性要求、 性能要求,和相应的试验方法。除了用于汽车智能驾驶, 其他领域的计算芯片可参照执行。

Mr.Cssust的博客 2633

解决fetch_california_housing数据集403错误的三种实用方法

本文针对机器学习初学者加载fetch_california_housing数据集时常见的HTTPError 403: Forbidden错误,提供了三种经过实测的解决方案。详细介绍了手动下载与本地替换、修改源码下载路径以及配置网络访问策略的具体步骤,帮助用户根据自身网络环境和开发场景选择最佳方法,确保数据集顺利加载。

weixin_29074295的博客 551

LC3014 输入单词需要的最少按键次数Ⅰ与方法内容的易读性

文章讨论力扣题目3014,求电话键盘输入单词的最少按键次数。提出三种解法:基于条件逻辑的直观解法;利用求和公式的简洁但难懂解法,作者建议加注释提高易读性;GPT-4提出的较复杂解法。强调代码注释的重要性,尤其是在包含复杂逻辑或数学公式时。

qq_64257622的博客 573

数学文化赏析MOOC笔记【2023】

深圳大学UOOC课程《数学文化赏析》课程笔记

simplenthpower的博客 1753

leetcode453:最小操作次数

class Solution { public int minMoves(int[] nums) { int length = nums.length; // 数组长度 Arrays.sort(nums); int min = nums[0]; int count = 0; int total = 0; for(int num : nums){ total += num; .

Forest_2Cat的博客 436

使用项目管理画布启动项目

许多人对商业模式画布并不陌生,它是亚历山大·奥斯特瓦德(Alexander Osterwalder)、伊夫·皮尼厄(Yves Pigneur)在《商业模式新生代》(Business Model Generation)中提出的一种用来描述商业模式、可视化商业模式、评估商业模式以及改变商业模式的通用语言。 在我们做敏捷软件项目inception(项目启动规划)的时候经常会用到商业画布,此时它的作用是帮助我们快速了解客户的业务、产品和市场,帮助客户梳理自己的资源、优势和盈利模式,总的来说,商业画布是一种简单实用的

IDEAL Garden 1224

JA4 TLS指纹:反爬攻防下沉至网络层的实战指南

TLS指纹是识别客户端网络栈特征的基础安全概念,其原理源于对TLS 1.3/1.2握手阶段Client Hello明文字段的结构化提取与哈希编码。相比依赖JavaScript执行环境的传统浏览器指纹,TLS指纹具备更高稳定性与更低伪造性,技术价值在于绕过前端混淆、直击爬虫底层网络协议栈。典型应用场景包括电商风控、金融反欺诈及招聘平台数据防护,尤其适用于对抗高仿真无头浏览器与通用HTTP库爬虫。本文聚焦JA4这一工业级TLS指纹标准,深入解析其字段逻辑、Nginx原生集成方案及与JA4S/JA4X的纵深协同机

weixin_33675507的博客 866

力扣3014.输入单词需要的最少按键次数I

给你一个字符串word,由小写英文字母组成。电话键盘上的按键与小写英文字母集合相映射,可以通过按压按键来组成单词。例如,按键2对应,我们需要按一次键来输入"a",按两次键来输入"b",按三次键来输入"c"。现在允许你将编号为2到9的按键重新映射到字母集合。每个按键可以映射到的字母,但每个字母映射到按键上。你需要找到输入字符串word所需的按键次数。返回重新映射按键后输入word所需的按键次数。下面给出了一种电话键盘上字母到按键的映射作为示例。注意1和0对应任何字母。5。

努力小王的博客 1127

Qt代码-军用仿真系统基础框架

ui->mapClickLabel->setText(QString("地图点击:(%.1f, %.1f)米").arg(worldPos.x()).arg(worldPos.y()));emit simulationEvent(QString("添加实体: %1 (ID: %2)").arg(attr.name).arg(entity.id()));// 像素坐标→世界坐标(米)

寒寒豆豆软件公司的博客 170

leetcode 3014. 输入单词需要的最少按键次数 I 简单

总成本为 1 + 2 + 1 + 2 + 1 + 1 + 1 + 1 + 1 + 1 = 12。"a" -> 在按键 2 上按一次。"b" -> 在按键 3 上按一次。"c" -> 在按键 4 上按一次。"d" -> 在按键 5 上按一次。"e" -> 在按键 6 上按一次。"x" -> 在按键 2 上按一次。"y" -> 在按键 2 上按两次。"c" -> 在按键 3 上按一次。"e" -> 在按键 4 上按一次。"f" -> 在按键 5 上按一次。"g" -> 在按键 6 上按一次。

2401_88085478的博客 164

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

LeetCode 3014.输入单词需要的最少按键次数 I:遍历 / if-else计算(比纯数学公式写起来麻烦但好想)

LeetCode 3014.输入单词需要的最少按键次数 I:遍历 / if-else计算(比纯数学公式写起来麻烦但好想) 给你一个字符串 word,由 不同 小写英文字母组成。 电话键盘上的按键与 不同 小写英文字母集合相映射,可以通过按压按键来组成单词。例如,按键 2 对应 ["a","b","c"],我们需要按一次键来输入 "a",按两次键来输入 "b",按三次键来输入 "c"。 现在允许你将编号为 2 到 9 的按键重新映射到 不同 字母集合。每个按键可以映射到 任意数量 的字母,但每个字母 必须

<font color="Pink">Tisfy的博客</font> 276

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Leecode(64)3014.输入单词需要的最小按键次数|-简单

总成本为 1 + 2 + 1 + 2 + 1 + 1 + 1 + 1 + 1 + 1 = 12。"a" -> 在按键 2 上按一次。"b" -> 在按键 3 上按一次。"c" -> 在按键 4 上按一次。"d" -> 在按键 5 上按一次。"e" -> 在按键 6 上按一次。"x" -> 在按键 2 上按一次。"y" -> 在按键 2 上按两次。"c" -> 在按键 3 上按一次。"e" -> 在按键 4 上按一次。"f" -> 在按键 5 上按一次。"g" -> 在按键 6 上按一次。

qq_51999844的博客 592

Leetcode 第 381 场周赛题解

Leetcode 第 381 场周赛题解

ProgramNovice的博客 1998

3014. 输入单词需要的最少按键次数 I(2026.07.30)

总成本为 1 + 2 + 1 + 2 + 1 + 1 + 1 + 1 + 1 + 1 = 12。“a” -> 在按键 2 上按一次。“b” -> 在按键 3 上按一次。“c” -> 在按键 4 上按一次。“d” -> 在按键 5 上按一次。“e” -> 在按键 6 上按一次。“x” -> 在按键 2 上按一次。“y” -> 在按键 2 上按两次。“c” -> 在按键 3 上按一次。“e” -> 在按键 4 上按一次。“f” -> 在按键 5 上按一次。“g” -> 在按键 6 上按一次。

yyds_yyd_10086的博客 172

力扣周赛381

表示所有满足要求的房屋对的数量,即从一个房屋到另一个房屋需要经过的。- 对于房屋对 (1, 2),可以直接从房屋 1 到房屋 2。- 对于房屋对 (2, 1),可以直接从房屋 2 到房屋 1。- 对于房屋对 (1, 3),可以直接从房屋 1 到房屋 3。- 对于房屋对 (3, 1),可以直接从房屋 3 到房屋 1。- 对于房屋对 (2, 3),可以直接从房屋 2 到房屋 3。- 对于房屋对 (3, 2),可以直接从房屋 3 到房屋 2。总成本为 1 + 1 + 1 + 1 + 1 = 5。

m0_48590589的博客 1031

周赛381(模拟、BFS、贪心)

表示所有满足要求的房屋对的数量,即从一个房屋到另一个房屋需要经过的。表示所有满足要求的房屋对的数量,即从一个房屋到另一个房屋需要经过的。小写英文字母集合相映射,可以通过按压按键来组成单词。小写英文字母集合相映射,可以通过按压按键来组成单词。下面给出了一种电话键盘上字母到按键的映射作为示例。下面给出了一种电话键盘上字母到按键的映射作为示例。,都存在一条街道连接编号为。),你需要找出所有满足要求的。,都存在一条街道连接编号为。),你需要找出所有满足要求的。,我们需要按一次键来输入。,我们需要按一次键来输入。

qq_42958831的博客 539

LeetCode 每日一题 2026/7/27-2026/8/2

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步

AlphaTao的博客 236

最少操作次数

原题: 给定两个字符串,仅由小写字母组成,它们包含了相同字符。 求把第一个字符串变成第二个字符串的最小操作次数,且每次操作只能对第一个字符串中的某个字符移动到此字符串中的开头。 例如给定两个字符串“abcd" "bcad" ,输出:2,因为需要操作2次才能把"abcd"变成“bcad" ,方法是:abcd->cabd->bcad。 1、看到题目之后想都没想就以为是最长公共字符串的问

有情剑客无情剑 1683

LeetCode 只有两个键的键盘(动态规划)

最初在一个记事本上只有一个字符 ‘A’。你每次可以对这个记事本进行两种操作: Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的)。 Paste (粘贴) : 你可以粘贴你上一次复制的字符。 给定一个数字 n 。你需要使用最少的操作次数,在记事本中打印出恰好 n 个 ‘A’。输出能够打印出 n 个 ‘A’ 的最少操作次数。 示例 1: 输入: 3 输出: ...

hestyle的博客 982

动态规划(Dynamic Programming)详解:从入门到 LeetCode Hot 100

将一个复杂问题拆分成多个规模更小的子问题,通过保存子问题的计算结果,避免重复计算,最终得到原问题的答案。先看一个经典问题。dp[i] = 以第 i 个元素结尾的最优结果例如最长递增子序列。最长递增子序列不一定以最后一个元素结尾,因此必须遍历整个数组取最大值。dp[i] = 前 i 个元素的最优结果这种情况下,最终答案通常就是dp[n]。关键在于理解 dp 数组的定义。动态规划的核心并不是背诵某个固定模板,而是建立正确的状态定义,并通过状态转移方程解决问题。dp[i] 或 dp[i][j] 表示什么?

zengjiajun2006的博客 888

力扣73 矩阵置零

该解法通过标记含0的行和列来实现矩阵置零。遍历矩阵,用布尔数组记录有0的行和列;再遍历一次,若当前行或列被标记,则置为0。时间复杂度O(mn),空间复杂度O(m+n)。

Pniubi的博客 34

Hash表:两数之和、字母异位词分组、最长连续序列 [力扣 Hot100]

三道高频哈希表应用题:两数之和(利用HashMap快速查找补数)、字母异位词分组(排序后作为键分组)、最长连续序列(通过HashSet去重并仅从序列起点扩展)。核心思想均为借助哈希结构优化查找效率,避免重复计算。同时提及双指针等其他解法思路,体现算法设计中“空间换时间”的典型策略。

2403_87560480的博客 226
上一篇: Leetcode2376. 统计特殊整数
下一篇: Leetcode3016. 输入单词需要的最少按键次数 II
UestcXiye
博客等级 码龄8年 9032粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值