题目链接

Find Common Characters - LeetCode

注意点

  • 不能单纯的以字母出现的次数来判断是否是公共的字母

解法

解法一:将第一个字符串的每个字母逐个在其他字符串中查找,如果所有的字符串都含有就加入res。时间复杂度O(n^2),n是所有字符串的长度之和。

class Solution {
public:
vector<string> commonChars(vector<string>& A) {
vector<string> res;
if(A.size() == 0) return res;
int i,j,k;
for(i = 0;i < A[0].size();i++)
{
for(j = 1;j < A.size();j++)
{
for(k = 0;k < A[j].size();k++)
{
if(A[j][k] == A[0][i])
{
A[j][k] -= 32;
break;
}
}
if(k >= A[j].size()) break;
}
if(j >= A.size())
{
string temp = "";
res.push_back(temp+A[0][i]);
}
}
return res;
}
};

解法二:先统计第一个字符串中所有字母出现的次数,然后逐个统计其他字符串中字母出现的次数,每统计完一个字符串对每个字母取较小的出现的次数。时间复杂度O(n)

class Solution {
public:
vector<string> commonChars(vector<string>& A) {
vector<string> res;
vector<int> count(26,0);
if(A.size() == 0) return res;
int i,j;
for(i = 0;i < A[0].size();i++) count[A[0][i]-'a']++;
for(i = 1;i < A.size();i++)
{
vector<int> tempCount(26,0);
for(j = 0;j < A[i].size();j++) tempCount[A[i][j]-'a']++;
for(j = 0;j < 26;j++) count[j] = min(count[j],tempCount[j]);
}
for(i = 0;i < 26;i++)
{
for(j = 0;j < count[i];j++) res.push_back(string(1,i+'a'));
}
return res;
}
};

小结

  • 这是今天早上周赛的第一道题,我做了半个小时,第一名只做了两分钟...

Find Common Characters - LeetCode的更多相关文章

  1. LeetCode 1002. Find Common Characters (查找常用字符)

    题目标签:Array, Hash Table 题目给了我们一个string array A,让我们找到common characters. 建立一个26 size 的int common array, ...

  2. 【LEETCODE】43、1002. Find Common Characters

    package y2019.Algorithm.array; import java.util.*; /** * @ProjectName: cutter-point * @Package: y201 ...

  3. 3-Longest Substring Without Repeating Characters @LeetCode

    3-Longest Substring Without Repeating Characters @LeetCode 题目 题目中得到的信息有: 一段字符串找出不重复子串的最大长度,只需要长度信息. ...

  4. Write a program that gives count of common characters presented in an array of strings..(or array of

    转自出处 Write a program that gives count of common characters presented in an array of strings..(or arr ...

  5. 【LeetCode】1002. Find Common Characters 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典 日期 题目地址:https://leetcod ...

  6. LeetCode.1002-寻找共有字符(Find Common Characters)

    这是悦乐书的第375次更新,第402篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第236题(顺位题号是1002).给定仅由小写字母组成的字符串A,返回列表中所有字符串都 ...

  7. 【leetcode】1002. Find Common Characters

    题目如下: Given an array A of strings made only from lowercase letters, return a list of all characters ...

  8. Leetcode 1002. Find Common Characters

    python可重集合操作 class Solution(object): def commonChars(self, A): """ :type A: List[str] ...

  9. [Swift]LeetCode1002. 查找常用字符 | Find Common Characters

    Given an array A of strings made only from lowercase letters, return a list of all characters that s ...

随机推荐

  1. Unity学习笔记(5):动态加载Prefab

    第一种方法,从Resources文件夹读取Prefab Assets/Resources文件夹是Unity中的一个特殊文件夹,在博主当前的认知里,放在这个文件夹里的Prefab可以被代码动态加载 直接 ...

  2. Java 集合基础知识 List/Set/Map

    一.List Set 区别 List 有序,可重复: Set 无序,不重复: 二.List Set 实现类间区别及原理 Arraylist 底层实现使用Object[],数组查询效率高 扩容机制    ...

  3. 关于jsp中引用css外部样式无效时的处理方法

    今天做项目遇到的一个小问题,如下所示: <link href="./bootstrap/css/bootstrap.min.css" rel="stylesheet ...

  4. 【坚持】Selenium+Python学习记录 DAY8

    2018/05/ 28 [来源:菜鸟教程](http://www.runoob.com/python3/python3-examples.html) 继续敲类相关的代码 #No.1 class peo ...

  5. GearCase UI - 自己构建一套基于 Vue 的简易开源组件库

    最近 1 ~ 2 月除了开发小程序之外,还一直在继续深入的学习 Vuejs.利用零碎.闲暇的时间整合了一套基于 Vue 的 UI 组件库.命名为 GearCase UI,意为齿轮盒.现在把该项目进行开 ...

  6. Python处理PDF和Word文档常用的方法

    Python处理PDF和Word文档的模块是PyPDF2,使用之前需要先导入. 打开一个PDF文档的操作顺序是:用open()函数打开文件并用一个变量来接收,然后把变量给传递给PdfFileReade ...

  7. 什么是mvc模式

    MVC是一个架构,或者说是一个设计模式,它就是强制性使应用程序的输入,处理和输出分开.将一个应用程序分为三个部分:Model,View,Controller. 原理图: 分析: Model 模型(完成 ...

  8. [mysql] 归档工具pt-archiver,binlog格式由mixed变成row

    pt-archiver官方地址:https://www.percona.com/doc/percona-toolkit/3.0/pt-archiver.html 介绍:归档数据,比如将一年前的数据备份 ...

  9. 【quickhybrid】组件(自定义)API的实现

    前言 前文在API规划时就已经有提到过组件API这个概念,本文将会介绍它的原理以及实现 理解组件API这个概念 quick.ui.xxx quick.page.xxx 在quick hybrid中,A ...

  10. MySql 赋值操作符"="与":="

    MySql小点心—1.赋值操作符"="与":=" 对于刚接触到mysql的程序员来说,会对这两个符号有疑问,因为会发现有的代码里用这个有的用另一个. 当然他们是 ...