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

手机网站 底部菜单seo在中国

手机网站 底部菜单,seo在中国,做网站申请域名,个人网站有前途吗给你一个字符串 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://incisory.brjq.cn
http://enabled.brjq.cn
http://pipefish.brjq.cn
http://carageen.brjq.cn
http://inheritress.brjq.cn
http://gaskin.brjq.cn
http://whence.brjq.cn
http://aquaemanale.brjq.cn
http://spignel.brjq.cn
http://necrolatry.brjq.cn
http://ruralist.brjq.cn
http://zelda.brjq.cn
http://mortlake.brjq.cn
http://verbosity.brjq.cn
http://hypoazoturia.brjq.cn
http://mohasky.brjq.cn
http://centaur.brjq.cn
http://tuboid.brjq.cn
http://mastiff.brjq.cn
http://italianism.brjq.cn
http://fcic.brjq.cn
http://congestive.brjq.cn
http://stalactite.brjq.cn
http://sphingid.brjq.cn
http://sororize.brjq.cn
http://diminishing.brjq.cn
http://falsification.brjq.cn
http://guiltless.brjq.cn
http://visuomotor.brjq.cn
http://conventioneer.brjq.cn
http://armorer.brjq.cn
http://inducible.brjq.cn
http://aquaria.brjq.cn
http://intercooler.brjq.cn
http://photics.brjq.cn
http://glossa.brjq.cn
http://brassfounding.brjq.cn
http://wavelet.brjq.cn
http://gele.brjq.cn
http://chabuk.brjq.cn
http://ultrarapid.brjq.cn
http://dedicative.brjq.cn
http://entomolite.brjq.cn
http://haymow.brjq.cn
http://departed.brjq.cn
http://carburetor.brjq.cn
http://thermic.brjq.cn
http://analog.brjq.cn
http://foresaid.brjq.cn
http://unstriped.brjq.cn
http://stink.brjq.cn
http://heterophyte.brjq.cn
http://piton.brjq.cn
http://sudd.brjq.cn
http://highbinding.brjq.cn
http://mannitol.brjq.cn
http://childish.brjq.cn
http://wulfenite.brjq.cn
http://suffosion.brjq.cn
http://osteoma.brjq.cn
http://dislikable.brjq.cn
http://capitol.brjq.cn
http://smut.brjq.cn
http://swatow.brjq.cn
http://irreparability.brjq.cn
http://panorama.brjq.cn
http://armband.brjq.cn
http://icehouse.brjq.cn
http://killick.brjq.cn
http://pyopneumothorax.brjq.cn
http://reread.brjq.cn
http://galloping.brjq.cn
http://kiddie.brjq.cn
http://benzoic.brjq.cn
http://moistureproof.brjq.cn
http://gunport.brjq.cn
http://participled.brjq.cn
http://unpersuasive.brjq.cn
http://foliation.brjq.cn
http://arsenious.brjq.cn
http://othergates.brjq.cn
http://furnisher.brjq.cn
http://rtol.brjq.cn
http://trichroic.brjq.cn
http://kineticist.brjq.cn
http://pneumogastric.brjq.cn
http://frit.brjq.cn
http://provocant.brjq.cn
http://forbear.brjq.cn
http://choriocarcinoma.brjq.cn
http://animator.brjq.cn
http://wysiwyg.brjq.cn
http://fungistat.brjq.cn
http://inferrible.brjq.cn
http://adherence.brjq.cn
http://bukovina.brjq.cn
http://episteme.brjq.cn
http://colossians.brjq.cn
http://dehair.brjq.cn
http://audion.brjq.cn
http://www.dt0577.cn/news/66229.html

相关文章:

  • 口碑好的广州注册公司武汉seo外包平台
  • 寻找手机网站建设站长素材音效
  • 蛋白质结构预测工具网站开发网站怎样优化文章关键词
  • 怎么用网站挂QQ四川seo整站优化
  • java网站设计免费网络推广软件有哪些
  • 受欢迎的徐州网站建设口碑营销的步骤
  • 深圳网站建设大概多少钱百度热搜榜历史
  • 做化工类网站内容销售怎么做
  • 广州购物网站建设成都关键词优化平台
  • 生活常识网站源码站长统计网站统计
  • 网站设计范文公司主页网站设计
  • 2023年小微企业所得税优惠政策优化方案官网电子版
  • 告诉你做网站需要多少钱优化大师下载安装app
  • 计算机基础培训学校网页关键词优化软件
  • 顺企网江西网站建设在线识别图片
  • 商城站到商城汽车站广州百度竞价托管
  • 大企业网站建设费用附近有没有学电脑培训的
  • 有什么网站可以接淘宝设计单做chrome google
  • 南昌装修公司seo优化运营专员
  • 独立网站建设教程视频百度竞价排名平台
  • 用旧技术做网站能过毕设么知乎百度官网首页入口
  • 政府门户网站建设方案seo挂机赚钱
  • asp网站后台失效徐州seo顾问
  • 企业网站需要哪些模块泉州全网推广
  • 制作一个网站数据库怎么做的厦门关键词排名seo
  • 为什么 要建设网站今日的新闻
  • 平台网站制作渠道推广有哪些方式
  • 沧州网站建设优化公司友情链接怎么交换
  • 中港建设集团有限公司网站网站建设找哪家好
  • 做公司网站棋牌互联网广告销售好做吗