返回介绍

lcp / LCP 69. Hello LeetCode! / README

发布于 2024-06-17 01:04:41 字数 2025 浏览 0 评论 0 收藏 0

LCP 69. Hello LeetCode!

题目描述

力扣嘉年华同样准备了纪念品展位,参观者只需要集齐 helloleetcode13 张字母卡片即可获得力扣纪念章。

在展位上有一些由字母卡片拼成的单词,words[i][j] 表示第 i 个单词的第 j 个字母。

你可以从这些单词中取出一些卡片,但每次拿取卡片都需要消耗游戏代币,规则如下:

  • 从一个单词中取一个字母所需要的代币数量,为该字母左边和右边字母数量之积

  • 可以从一个单词中多次取字母,每个字母仅可被取一次

例如:从 example 中取出字母 a,需要消耗代币 2*4=8,字母取出后单词变为 exmple; 再从中取出字母 m,需要消耗代币 2*3=6,字母取出后单词变为 exple

请返回取得 helloleetcode 这些字母需要消耗代币的 最少 数量。如果无法取得,返回 -1

注意:

  • 取出字母的顺序没有要求
  • 取出的所有字母恰好可以拼成 helloleetcode

示例 1:

输入:words = ["hold","engineer","cost","level"]

输出:5

解释:最优方法为: 从 hold 依次取出 hold, 代价均为 0engineer 依次取出第 1e 与最后一个 e, 代价为 05*1=5cost 取出 cot, 代价均为 0level 依次取出 llee, 代价均为 0 所有字母恰好可以拼成 helloleetcode,因此最小的代价为 5

示例 2:

输入:words = ["hello","leetcode"]

输出:0

提示:

  • n == words.length
  • m == words[i].length
  • 1 <= n <= 24
  • 1 <= m <= 8
  • words[i][j] 仅为小写字母

解法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文