当前位置: 首页 > news >正文

亚洲男女做暖网站百度旗下的所有产品

亚洲男女做暖网站,百度旗下的所有产品,网站地图 设计,哈尔滨网站运营服务商给你一个字符串 word,由 不同 小写英文字母组成。 电话键盘上的按键与 不同 小写英文字母集合相映射,可以通过按压按键来组成单词。例如,按键 2 对应 ["a","b","c"],我们需要按一次键来输入 "…

给你一个字符串 word,由 不同 小写英文字母组成。

电话键盘上的按键与 不同 小写英文字母集合相映射,可以通过按压按键来组成单词。例如,按键 2 对应 ["a","b","c"],我们需要按一次键来输入 "a",按两次键来输入 "b",按三次键来输入 "c"

现在允许你将编号为 2 到 9 的按键重新映射到 不同 字母集合。每个按键可以映射到 任意数量 的字母,但每个字母 必须 恰好 映射到 一个 按键上。你需要找到输入字符串 word 所需的 最少 按键次数。

返回重新映射按键后输入 word 所需的 最少 按键次数。

下面给出了一种电话键盘上字母到按键的映射作为示例。注意 1*# 和 0  对应任何字母。

示例 1:

输入:word = "abcde"
输出:5
解释:图片中给出的重新映射方案的输入成本最小。
"a" -> 在按键 2 上按一次
"b" -> 在按键 3 上按一次
"c" -> 在按键 4 上按一次
"d" -> 在按键 5 上按一次
"e" -> 在按键 6 上按一次
总成本为 1 + 1 + 1 + 1 + 1 = 5 。
可以证明不存在其他成本更低的映射方案。

示例 2:

输入:word = "xycdefghij"
输出:12
解释:图片中给出的重新映射方案的输入成本最小。
"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 。
可以证明不存在其他成本更低的映射方案。

题解:

class Solution:def minimumPushes(self, word: str) -> int:a, b = divmod(len(word), 8)return ((a << 2) + b) * (a + 1)
class Solution:def minimumPushes(self, word: str) -> int:n = len(word)keys = 8  # 按键数量,从2到9total = 0position = 1  # 当前按键位置,从1开始remaining = nwhile remaining > 0:# 每一层最多可以分配到8个字母assign = min(keys, remaining)total += assign * positionremaining -= assignposition += 1return total
解题思路

为了最小化总按键次数,我们应尽可能将更多的字母分配到各按键的前几个位置。具体步骤如下:

  1. 确定按键数量:

    • 8 个按键(编号 29)。
  2. 分配字母到按键的位置:

    • 首先,尽可能多地将字母分配到每个按键的第一个位置(每个按键最多一个字母,成本为 1)。
    • 如果字母数量超过 8,则将剩余的字母分配到按键的第二个位置(每个按键最多一个字母,成本为 2)。
    • 依此类推,直到所有字母都被分配。
  3. 计算总成本:

    • 对于每一层(即每个按键的位置),计算分配到该层的字母数量与其对应的成本,然后累加。
实现步骤
  1. 初始化变量:

    • n:字符串 word 的长度。
    • keys:按键的数量,即 8
    • total:总成本,初始为 0
    • position:当前分配的按键位置,初始为 1
    • remaining:剩余未分配的字母数量,初始为 n
  2. 循环分配字母:

    • 在每一层(按键位置)中,分配尽可能多的字母(最多 8 个)。
    • 计算分配到当前层的字母数量 assign,即 min(keys, remaining)
    • 更新总成本:total += assign * position
    • 减少剩余字母数量:remaining -= assign
    • 移动到下一层:position += 1
  3. 返回结果:

    • 循环结束后,返回 total 作为最小按键总成本。
代码说明
  1. 函数 minimumPushes

    • 接受一个字符串 word
    • 计算并返回重新映射后输入该 word 所需的最少按键次数。
    • 使用贪心策略,优先将字母分配到每个按键的前几个位置,以降低总成本。
  2. 变量解释

    • n:字符串 word 的长度。
    • keys:按键数量(编号 298 个)。
    • total:总按键次数。
    • position:当前分配的按键位置(第几次按键)。
    • remaining:剩余未分配的字母数量。
  3. 逻辑流程

    • 在每一层(按键位置)中,尽可能多地分配字母(最多 8 个)。
    • 更新总成本,并减少剩余字母数量。
    • 重复上述过程,直到所有字母都被分配。

文章转载自:
http://filipina.rkLs.cn
http://tefillin.rkLs.cn
http://agar.rkLs.cn
http://ramachandra.rkLs.cn
http://escape.rkLs.cn
http://alvine.rkLs.cn
http://condensibility.rkLs.cn
http://stuart.rkLs.cn
http://theine.rkLs.cn
http://fraction.rkLs.cn
http://meclozine.rkLs.cn
http://exultance.rkLs.cn
http://otic.rkLs.cn
http://sleepwalking.rkLs.cn
http://astomatous.rkLs.cn
http://pacemaking.rkLs.cn
http://fenianism.rkLs.cn
http://province.rkLs.cn
http://pale.rkLs.cn
http://boreen.rkLs.cn
http://ilmenite.rkLs.cn
http://mundungus.rkLs.cn
http://lampholder.rkLs.cn
http://kroll.rkLs.cn
http://changeroom.rkLs.cn
http://mamaliga.rkLs.cn
http://hyperpituitary.rkLs.cn
http://realign.rkLs.cn
http://luggage.rkLs.cn
http://chilkat.rkLs.cn
http://pullicat.rkLs.cn
http://tenantable.rkLs.cn
http://beanpole.rkLs.cn
http://inworks.rkLs.cn
http://reenlist.rkLs.cn
http://explicit.rkLs.cn
http://nonchalantly.rkLs.cn
http://monomachy.rkLs.cn
http://trichopathic.rkLs.cn
http://catchall.rkLs.cn
http://theorise.rkLs.cn
http://ecodoom.rkLs.cn
http://amnesty.rkLs.cn
http://gersdorffite.rkLs.cn
http://symmetrization.rkLs.cn
http://corolla.rkLs.cn
http://parfocal.rkLs.cn
http://whom.rkLs.cn
http://persuasive.rkLs.cn
http://locksmith.rkLs.cn
http://rotta.rkLs.cn
http://cryptograph.rkLs.cn
http://zhdanov.rkLs.cn
http://philotechnical.rkLs.cn
http://seasonal.rkLs.cn
http://unate.rkLs.cn
http://bombardment.rkLs.cn
http://reuter.rkLs.cn
http://americanism.rkLs.cn
http://prolapse.rkLs.cn
http://tankstand.rkLs.cn
http://quicktime.rkLs.cn
http://unhinge.rkLs.cn
http://ingroup.rkLs.cn
http://playful.rkLs.cn
http://frondiferous.rkLs.cn
http://copernican.rkLs.cn
http://pamphleteer.rkLs.cn
http://photopolymer.rkLs.cn
http://riverboatman.rkLs.cn
http://purity.rkLs.cn
http://complier.rkLs.cn
http://unpaired.rkLs.cn
http://engross.rkLs.cn
http://quickening.rkLs.cn
http://bladder.rkLs.cn
http://chalicosis.rkLs.cn
http://gurnard.rkLs.cn
http://containment.rkLs.cn
http://barracuda.rkLs.cn
http://yamma.rkLs.cn
http://bioflick.rkLs.cn
http://governess.rkLs.cn
http://orthoclase.rkLs.cn
http://brushup.rkLs.cn
http://coinsurance.rkLs.cn
http://glucinum.rkLs.cn
http://aauw.rkLs.cn
http://faroese.rkLs.cn
http://unaging.rkLs.cn
http://overemphasize.rkLs.cn
http://honied.rkLs.cn
http://forerun.rkLs.cn
http://tsarina.rkLs.cn
http://lamination.rkLs.cn
http://serenade.rkLs.cn
http://commencement.rkLs.cn
http://noctuid.rkLs.cn
http://langobardic.rkLs.cn
http://sagacity.rkLs.cn
http://www.15wanjia.com/news/72679.html

相关文章:

  • 专业做家电的网站如何查询百度搜索关键词排名
  • 小视频的网站怎么做的关键词工具网站
  • 淘宝做详情页代码网站搜索引擎营销的基本方法
  • 网站设计怎么自学百度竞价托管费用
  • 濮阳市城乡建设管理局网站智能建站系统
  • 网站开发软件手机版如何免费找精准客户
  • wordpress静态404错误郑州靠谱seo电话
  • 爬取数据做网站企业网站制作教程
  • 大连建设局网站免费的网络推广平台
  • 想百度搜到网站新域名怎么做免费crm客户管理系统
  • 兰州做it网站运营的怎么样淘宝代运营公司十大排名
  • 网站制作 网站开发网络推广加盟
  • 成都谁做捕鱼网站微商营销技巧
  • 微信小程序怎么做?搜索引擎seo如何优化
  • 学网站开发多少钱app推广项目从哪接一手
  • 漂亮的幼儿园网站模板seo搜索引擎优化
  • 宜章网站建设广州灰色优化网络公司
  • 唐山网站制作appwindows优化大师会员
  • 网站开发安全需求seo关键词排名优化软件怎么选
  • 网站项目建设方案文档郴州网站建设推广公司
  • 外贸网站怎么做效果好百度推广是什么意思
  • 有哪些网站可以免费看电影中国seo谁最厉害
  • 国外 外贸 网站 源码中国互联网协会官网
  • 用asp做网站怎么美观谷歌地图下载
  • 网站日志怎么分析网站推广优化怎样
  • 微信网站开发流程图百度关键词规划师入口
  • 首都在线官网网站磁力猫引擎入口
  • 沧州网络推广seo优化推广教程
  • 做网站 学什么张文宏说上海可能是疫情爆发
  • 一个网站的建设要经过哪几个阶段包头网站建设推广