Leetcode 3016. Minimum Number of Pushes to Type Word II

  • Leetcode 3016. Minimum Number of Pushes to Type Word II
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3016. Minimum Number of Pushes to Type Word II

1. 解题思路

这道题的话思路其实还是蛮简单的,显然我们的目的是要令对给定的word在键盘上敲击的次数最小。

因此,我们只需要对单词当中按照字符的频次进行倒序排列,然后出现频次越高的字母就安排尽量靠前的位置即可。

2. 代码实现

给出python代码实现如下:

class Solution:
    def minimumPushes(self, word: str) -> int:
        cnt = Counter(word)
        cnt = sorted(cnt.items(), key=lambda x: x[1], reverse=True)
        ans = 0
        for i, (k, v) in enumerate(cnt):
            ans += v * (i // 8 + 1)
        return ans

提交代码评测得到:耗时137ms,占用内存17.6MB。

你可能感兴趣的:(leetcode笔记,leetcode,3016,leetcode周赛381,leetcode,medium,leetcode题解,频率统计)