题目

给你一个字符串数组 words ,请你找出所有在 words 的每个字符串中都出现的共用字符( 包括重复字符),并以数组形式返回。你可以按 任意顺序 返回答案。
示例 1:
输入:words = [“bella”,“label”,“roller”]
输出:[“e”,“l”,“l”]
示例 2:
输入:words = [“cool”,“lock”,“cook”]
输出:[“c”,“o”]
提示:
1 <= words.length <= 100
1 <= words[i].length <= 100
words[i] 由小写英文字母组成
来源:力扣(LeetCode)

解题思路

  一个简单的思路:求words里的每个单词的字符频率表,然后再对这些频率表求交集。注:这里的交集不能使用python自带的“&”,在这里字典中不同的items()仅仅指的是key不同,而频率应该取较小的一方。

class Solution:def commonChars(self, words: List[str]) -> List[str]:if len(words)==1:return [i for i in words[0]]d1={}d2={}for i in words[0]:d1[i]=d1.get(i,0)+1for j in words[1]:d2[j]=d2.get(j,0)+1def match(d1,d2):  #求交集d={}for i in d1.keys()&d2.keys():d[i]=min(d1[i],d2[i])return dD=match(d1,d2)for i in words[2:]:d={}for j in i:d[j]=d.get(j,0)+1D=match(D,d)temp=[]for i,j in D.items(): #i为字符,j为频率for k in range(j):temp.append(i)return temp

LeetCode简单题之查找共用字符相关推荐

  1. LeetCode简单题之重新分配字符使所有字符串都相等

    题目 给你一个字符串数组 words(下标 从 0 开始 计数). 在一步操作中,需先选出两个 不同 下标 i 和 j,其中 words[i] 是一个非空字符串,接着将 words[i] 中的 任一 ...

  2. leetcode系列-1002.查找共用字符

    leetcode系列–第1002题.查找共用字符 给你一个字符串数组 words ,请你找出所有在 words 的每个字符串中都出现的共用字符( 包括重复字符), 并以数组形式返回.你可以按 任意顺序 ...

  3. [Leetcode][第1002题][JAVA][查找常用字符][计数][HashMap]

    [问题描述][简单] [解答思路] 计数法 1. minfreq存放最终重复字母的个数 freq存放每次遍历字符串的字母个数 2. minfreq初始化最大值,每遍历一个字符串后,比较minfreq[ ...

  4. C#LeetCode刷题-二分查找​​​​​​​

    二分查找篇 # 题名 刷题 通过率 难度 4 两个排序数组的中位数 C#LeetCode刷题之#4-两个排序数组的中位数(Median of Two Sorted Arrays)-该题未达最优解 30 ...

  5. LeetCode简单题之整理字符串

    题目 给你一个由大小写英文字母组成的字符串 s . 一个整理好的字符串中,两个相邻字符 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要满足如下条件: 若 s ...

  6. LeetCode简单题之字符串转化后的各位数字之和

    题目 给你一个由小写字母组成的字符串 s ,以及一个整数 k . 首先,用字母在字母表中的位置替换该字母,将 s 转化 为一个整数(也就是,'a' 用 1 替换,'b' 用 2 替换,- 'z' 用 ...

  7. LeetCode简单题之删除字符使字符串变好

    题目 一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 . 给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 . 请你返回删除后的字符串.题目数据保证答案总 ...

  8. LeetCode简单题之字符的最短距离

    题目 给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符. 返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s ...

  9. LeetCode简单题之两个相同字符之间的最长子字符串

    题目 给你一个字符串 s,请你返回 两个相同字符之间的最长子字符串的长度 ,计算长度时不含这两个字符.如果不存在这样的子字符串,返回 -1 . 子字符串 是字符串中的一个连续字符序列. 示例 1: 输 ...

最新文章

  1. 清华大学朱军:发展安全可靠的AI,为什么依旧任重道远?
  2. C++设计模式-模板方法模式
  3. C/C++socket send函数MSG_NOSIGNAL
  4. java多线程 文件夹_Java多线程遍历文件夹,广度遍历加多线程加深度遍历结合
  5. 架构整洁之道 pdf_代码有整洁之道,而架构同样有整洁之道
  6. Glib2之spec编译打包rpm(九)
  7. 三种找回丢失iPhone的方法,来自苹果手机找回网
  8. struts1:Struts的中央控制器
  9. java dwg转pdf_CAD处理控件Aspose.CAD转换功能演示:使用Java将DWG和DXF文件转换为PDF...
  10. 怎么查看html隐藏代码,隐藏HTML源代码 怎样查看网页中隐藏的html源码
  11. 苹果手机怎么清理听筒灰尘_iPhone手机听筒声音小、有杂音?成都苹果维修点教你轻松解决...
  12. 实战案例丨腾讯安全托管服务MSS助力数字广东重保期间“0事故”
  13. 鸟哥的linux私房菜_linux磁盘与文件系统管理
  14. 还在找面试题?不要盲目找了,这份 Java 面试通关手
  15. 数据库中的五种约束及其添加方法
  16. thinkpad怎么把计算机设置到桌面,联想ThinkPad笔记本Fn键关闭与启用方法
  17. arduino红外热释电传感器_【Arduino】108种传感器系列实验(17)-热释电传感器模块-Arduino中文社区 - Powered by Discuz!...
  18. 移动应用开发之路 01 Android Studio 项目文件介绍、创建虚拟机、完成第一个程序Hello World
  19. wangeditor设置字体_自定义颜色、字体、字号
  20. 高数等价无穷小替换公式

热门文章

  1. 2021-10-27 我与地坛
  2. 2022-2028年中国儿童保健品行业市场研究及前瞻分析报告
  3. 2022-2028年中国电梯行业市场调查及前瞻分析报告
  4. 2022-2028年中国耐二甲醚橡胶密封材料行业市场全景调研及发展趋势分析报告
  5. Go 学习笔记(70)— Go 变量声明、变量初始化、值类型变量赋值、指针类型变量赋值
  6. 浅显易懂 Makefile 入门 (12)— Makefile 常见的错误信息
  7. 机房收费系统【VB版】——选择下机
  8. OneFlow系统设计
  9. 如何部署自动驾驶系统
  10. windows java 小程序_JAVA第一个窗体小程序