1170. 比较字符串最小字母出现频次

原始题目链接:https://leetcode-cn.com/problems/compare-strings-by-frequency-of-the-smallest-character/

定义一个函数 f(s),统计 s 中(按字典序比较)最小字母的出现频次 ,其中 s 是一个非空字符串。

例如,若 s = “dcce”,那么 f(s) = 2,因为字典序最小字母是 “c”,它出现了 2 次。

现在,给你两个字符串数组待查表 queries 和词汇表 words 。对于每次查询 queries[i] ,需统计 words 中满足 f(queries[i]) < f(W) 的 词的数目 ,W 表示词汇表 words 中的每个词。

请你返回一个整数数组 answer 作为答案,其中每个 answer[i] 是第 i 次查询的结果。

解题思路:

统计字符串数组中每个字符串里面的最小字符的个数,用一个列表推到就可以完成,min(str)可以获得最小的字符,str.count(char)可以计算出该字符串中char字符的个数。
题目要求返回queries中每个字符串的最小字符和words中每个字符串的最小字符个数的比较,所以先计算words,再遍历queries中的字符串,每个字符串都和整个words结果比较,最后借用了满足条件的words中的字符个数,返回答案,具体实现看代码及注释。

代码实现:

class Solution:def get_min_letter_freq(self, s:str)->int:if not s:return 0freq_dict = collections.Counter(s)return freq_dict[0][1]def numSmallerByFrequency(self, queries: List[str], words: List[str]) -> List[int]:# 统计words中最小字符的数目words_min_ch_num = [word.count(min(word)) for word in words]res = []# 遍历数组queries中的字符串,计算最小字符的数目,与words_min_ch_num的所有元素对比for query in queries:y = query.count(min(query))# 答案要求返回数目数组,直接计算符合条件的x的个数就是最后的答案res.append(len([x for x in words_min_ch_num if x > y]))return res

参考文献:
https://leetcode-cn.com/problems/compare-strings-by-frequency-of-the-smallest-character/solution/python-by-philhsu/

1170. 比较字符串最小字母出现频次相关推荐

  1. LeetCode 1170. 比较字符串最小字母出现频次

    1. 题目 我们来定义一个函数 f(s),其中传入参数 s 是一个非空字符串: 该函数的功能是统计 s 中(按字典序比较)最小字母的出现频次. 例如,若 s = "dcce",那么 ...

  2. leetcode1170-比较字符串最小字母出现频次(Map集合存储数组中每个字符串最小元素对应出现频次)

    目录 1. 题目: 2.分析: 3.思路: 4.代码实现: 1. 题目: 2.分析: 分析题目意思,queries中每个词都需要和words中全部单词比较,每个词的出现频次最小的单词的次数和words ...

  3. java寻找最大的字母_【LeetCode(Java) - 744】寻找比目标字母大的最小字母

    [LeetCode(Java) - 744]寻找比目标字母大的最小字母 [LeetCode(Java) - 744]寻找比目标字母大的最小字母 文章目录 1.题目描述 2.解题思路 3.解题代码 1. ...

  4. python 游程编码_游程编码(字符串中字母的查找/打印频率)

    python 游程编码 Problem description 问题描述 Write a program that counts frequency of each letter in the str ...

  5. LeetCode简单题之寻找比目标字母大的最小字母

    题目 给你一个排序后的字符列表 letters ,列表中只包含小写英文字母.另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母. 在比较时,字母是依序循环出现的.举个例子 ...

  6. ACMNO.26 C语言-字符统计2 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。

    题目描述 编写一函数,由实参传来一个字符串,统计此字符串中字母.数字.空格和其它字符的个数, 在主函数中输入字符串以及输出上述结果. 只要结果,别输出什么提示信息. 输入 一行字符串 输出 统计数据, ...

  7. Java中 Character方法练习:字符串中英文字母个数 5435abc54abc3AHJ5 正则:matches([a-zA-Z0-9]{1})...

    package com.swift;public class String_Letter_Number_Test {public static void main(String[] args) {/* ...

  8. 查询字符串中字母出现的个数

    /*查询字符串中字母出现的个数*/             string str = " Welcom Hello World";             Dictionary&l ...

  9. Java黑皮书课后题第6章:*6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数。编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数

    6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数.编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数 题目 题目描述 破题 代码 运行示例 题目 ...

最新文章

  1. 清华、中科大实现了量子版本的GAN,平均保真度98.8%
  2. 一位大学教授学习数学的体会
  3. Angular中怎样创建service服务来实现组件之间调用公共方法
  4. Mybatis-typeAliases的作用
  5. 低代码平台是“业务上云”走向万千企业的最后一公里
  6. ios NSAttributedString 具体解释
  7. Robot Framework 实战中学习(Web自动化)
  8. 使用Angular依赖注入自定义SAP Spartacus的ProductAdapter
  9. ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER
  10. 2019计算机开机号003期,2019年011期福彩中心开机号(附汇总)
  11. 基于Node.js实现压缩和解压缩的方法
  12. JavaScript 属性介绍
  13. Oracle的where子句
  14. webpack文件夹打包_webpack多入口文件页面打包详解
  15. 从C#到Nodejs,从windowns到mac
  16. Python文档学习笔记(1)--使用Python 解释器
  17. 抽象代数 Abstract Algebra 学习笔记
  18. 【转】百度网盘高速下载-暴力油猴脚本
  19. 单片机c语言1ms程序,51单片机c语言延时函数 Void delay 1ms(unsigned int ms){un
  20. 那个软件测试cpu温度准确,什么软件测试cpu温度准确_测试cpu温度准确软件汇总...

热门文章

  1. 怎么搞的,从今天早上起,水木清华BBS就上不去了,郁闷中:(
  2. Celoria的板子(last update:20201017)
  3. stagefright框架(四)-Video Buffer傳輸流程 .
  4. 小乌龟没有relocate选项,项目迁移怎么办
  5. Redis(十)——HyperLogLog 基数统计和 Bitmap位图场景详解
  6. 事务Read Committed (读已提交)和Repeatable Read(可重复读)到底什么区别?
  7. OD修改 exe文件 成功登录,je、jmp、nop、test汇编指令分析《逆向工程》
  8. import和require
  9. 第一次作为面试官,我很紧张
  10. 双十一有哪些必入的数码好物?值得入手的数码好物推荐