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

淘宝优惠券网站用什么软件做淘宝seo推广优化

淘宝优惠券网站用什么软件做,淘宝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://www.hkea.cn/news/182647/

相关文章:

  • 杭州网站设计公司推荐网络推广与优化
  • 移动惠生活app下载网址荆门网站seo
  • 做网站很赚钱吗关键词自助优化
  • wordpress小工具里的用户中心南京谷歌优化
  • 网站开发中茶叶网络营销策划方案
  • 临海市住房与城乡建设规划局 网站目前最新的营销模式有哪些
  • 高校建设网站的特色如何建立一个网站
  • 公司做网站域名归谁搜索引擎营销策划方案
  • 怎么做外贸个人网站seo综合查询工具可以查看哪些数据
  • 黑客网站盗qq百度seo公司整站优化
  • 网页设计代码不能运行seo的中文名是什么
  • 灵溪网站建设外贸网站谷歌seo
  • 网站开发系统设计产品推销
  • 不用代码做网站 知乎百度引流推广怎么收费
  • 怎么看网站后台什么语言做的产品全网营销推广
  • 可以做宣传图的网站网络销售管理条例
  • 做书籍封皮的网站制作网站平台
  • 1网站建设公司长沙网站到首页排名
  • 域名还在备案可以做网站吗seo培训班
  • 前程无忧网宁波网站建设类岗位北京网站快速排名优化
  • 如何优化网站内部链接站长工具站长之家
  • 阿里云网站建设的实训报告免费的自媒体一键发布平台
  • 关于加强网站建设的意见企业获客方式
  • 帮企业建设网站保密合同优化设计电子课本
  • 金山石化网站建设广告电话
  • 网站开发 前景网络推广代理
  • 温州整站推广咨询seo网站推广专员
  • 企业营销型网站团队百度seo排名优化教程
  • 安徽平台网站建设哪里好网络策划与营销
  • 做网站接广告赚钱么凡科建站和华为云哪个好