Leetcode 1002. Find Common Characters, Java 解法

Raptor码(一):2007RFC5053标准编解码学习 RFC 5053 标准 阅读详情

Given an array A of strings made only from lowercase letters, return a list of all characters that show up in all strings within the list (including duplicates).  For example, if a character occurs 3 times in all strings but not 4 times, you need to include that character three times in the final answer.

You may return the answer in any order.

Example 1:

Input: ["bella","label","roller"]
Output: ["e","l","l"]

Example 2:

Input: ["cool","lock","cook"]
Output: ["c","o"]

Note:

  1. 1 <= A.length <= 100
  2. 1 <= A[i].length <= 100
  3. A[i][j] is a lowercase letter

Approach #1 dictionary

class Solution {
    public List<String> commonChars(String[] A) {
        List<String> ans = new ArrayList<>();
    
        // Common characters dictionary
        int[] dict = new int[26];
        for (int j = 0; j < A[0].length(); j++) {
            dict[A[0].charAt(j) - 'a']++;
        }
    
        for (int i = 1; i < A.length; i++) {
            
            // Dictionary of the current word
            int[] curr = new int[26];
            for (int j = 0; j < A[i].length(); j++) {
                curr[A[i].charAt(j) - 'a']++;
            }
            
            // Update the common dictionary
            for (int j = 0; j < 26; j++) {
                if (curr[j] < dict[j]) 
                    dict[j] = curr[j];
            }
        }
        
        for (int i = 0; i < 26; i++) {
            for (int j = 0; j < dict[i]; j++) {
                ans.add(Character.toString((char) ('a' + i)));
            }
        }
        return ans;
    }
}

先把所有String []A 里出现过的字母加到公共字典里,然后对String[] A里每一个String word, 用一个字典储存其每个字母出现过的次数,然后更新公共的字典。

这样一来,公共字典里储存的,都是每个word里字母至少出现的次数,如果没在其他word出现过,会被设为0.

Time: O(n), where n is the total number of characters in A;
extra space: O(1), excludes output/return space.

 

Approach #2  与上一方法思想类似,代码更简洁

    public List<String> commonChars(String[] A) {
        List<String> ans = new ArrayList<>();
        int[] count = new int[26]; 
        Arrays.fill(count, Integer.MAX_VALUE);
        for (String str : A) {
            int[] cnt = new int[26];
            for (int i = 0; i < str.length(); ++i) { ++cnt[str.charAt(i) - 'a']; } // count each char's frequency in string str.
            for (int i = 0; i < 26; ++i) { count[i] = Math.min(cnt[i], count[i]); } // update minimum frequency.
        }
        for (char c = 'a'; c <= 'z'; ++c) {
            while (count[c - 'a']-- > 0) { ans.add("" + c); }
        }
        return ans;
    }

Time: O(n), where n is the total number of characters in A;
extra space: O(1), excludes output/return space.

Q: What does ++cnt[c - 'a']; mean?

A:count the frequency of chars in String str.

c : cnt[c - 'a']

'a': cnt['a' - 'a'] = cnt[0]
'b': cnt['b' - 'a'] = cnt[1]
'c': cnt['c' - 'a'] = cnt[2]
...
'z': cnt['z' - 'a'] = cnt[25]

if char c represents 'x', then cnt[c - 'a'] = cnt[23]. That is, when encountering char 'x', we increase cnt[23] by 1.

Therefore, after traversal of all chars in String str, we have the frequency (number of occurrence) of each char in cnt.

从零到一:RF-DETR如何通过神经架构搜索重塑实时目标检测的边界 RF-DETR通过创新的权重共享神经架构搜索(NAS)机制,重新定义了实时目标检测的技术边界。这项技术在COCO等基准测试中表现卓越,成为首个AP超过60的实时检测器,同时保持跨领域稳定性和高效推理速度。RF-DETR的动态架构调整能力使其能够适应从嵌入式设备到云端服务器的各种硬件环境,为工业质检、自动驾驶等场景提供灵活解决方案。 阅读详情

相关推荐

手把手教你用DCA1000EVM解析IWR6843毫米波雷达数据(附MATLAB代码)

本文提供了一份详尽的实战指南,手把手教你使用DCA1000EVM采集并解析TI毫米波雷达IWR6843的原始数据。内容涵盖硬件连接配置、mmWave Studio参数设置、LVDS数据流结构解析,并附有核心MATLAB代码,详细演示了从原始二进制文件到距离-速度谱的信号处理全链路,帮助开发者快速掌握数据解析与处理的关键步骤。

terraform7cloud的博客 227

【LeetCode】1002. 查找常用字符(Java)

给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。 你可以按任意顺序返回答案。 提示: 1 <= A.length <= 100 1 <= A[i].length <= 100 A[i][j] 是小写字母 class Solution { public List<String> commonChars(St

小楊同学的笔记本 269

K2P padavan固件下宽带与IPTV融合

举例说下,假如你的IPTV是拨号的,IPTV端口直接连到笔记本电脑的网口,IP是自动分配的情况下,在VLC里面是可以直接播放“rtp://239.XXX.XXX.XXX:XXXX”的,即使IPTV是DHCP模式,按道理也是可以播放的。家里很少看电视,基本上就是看看春晚,然后平时老人在家没事看看,所以就把广电的机顶盒停掉了,换了一个N1的盒子刷了CoreELEC系统,既可以通过m3u8文件看网络电视,也可以看本地的多媒体,很方便,完全满足了自己的需求。在上图的第三步中,端口设置成大于1024的端口即可。

aplsc的专栏 63万+

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

【问题描述】[简单] 【解答思路】 计数法 1. minfreq存放最终重复字母的个数 freq存放每次遍历字符串的字母个数 2. minfreq初始化最大值,每遍历一个字符串后,比较minfreq[i]、freq[i]的大小,minfreq[i]更新为两者的最小值。 3. 根据minfreq,输出答案 时间复杂度:O(N^2) 空间复杂度:O(N) class Solution { public List<String> commonChars(String[] A) {

dadongwudi的博客 271

从数据校准到论文呈现:fsQCA与NCA方法融合的完整实证研究指南

本文详细介绍了fsQCA(模糊集定性比较分析)与NCA(必要条件分析)方法融合的完整实证研究流程,从数据校准到论文呈现。通过软件操作技巧、R语言NCA包高效使用及论文写作规范,帮助研究者避免常见误区,提升研究质量与可靠性。特别适合需要进行组态分析的研究生和学者参考。

weixin_29215391的博客 414

Vivado工程芯片型号更换全流程:从IP更新到生成新bit文件(避坑指南)

本文详细介绍了Vivado工程中更换芯片型号的全流程,包括IP更新、约束文件适配和生成新bit文件的关键步骤。特别针对FPGA开发中常见的兼容性问题提供避坑指南,帮助开发者高效完成芯片迁移,确保设计稳定性和性能优化。

weixin_42549451的博客 297

leetcode -1002 -查找常用字符 -java版

文章目录题目代码 题目 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。 你可以按任意顺序返回答案。 示例 1: 输入:[“bella”,“label”,“roller”] 输出:[“e”,“l”,“l”] 示例 2: 输入:[“cool”,...

lingle1的博客 498

PyTorch模型生产部署:ONNX/Triton导出与高可用架构实战

机器学习模型部署本质是训练环境与生产环境之间的运行时契约建立过程,涉及序列化协议、推理引擎兼容性、动态批处理及资源隔离等核心问题。ONNX凭借标准化算子集和跨框架支持,成为平衡兼容性、性能与可维护性的首选导出格式;Triton Inference Server则通过原生多框架支持、动态batching和热加载能力,显著提升GPU利用率与服务SLA保障水平。在金融风控、电商推荐等高要求场景中,基于ONNX+Triton+K8s的分层架构可稳定支撑千级QPS与毫秒级P95延迟,同时满足模型热更新、可观测性与版本

weixin_33857679的博客 448

力扣1002.查找常用字符

1、这题一开始我把所有字母一起map导致忽略了有些单词有多个有些没有。。 这是一道简单的题26个字母记录,在每个单词中出现的最小次数,最后放到容器里面输出 知识点1:char转化为string string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 strings(1,i+'a');//char->string class Solution { public: vec...

小吕的博客 223

Python爬虫实战:实时监控美国SEC官网文件更新,助你第一时间掌握市场动态

在资本市场中,信息就是财富。美国证券交易委员会(SEC)官网公开了大量公司披露文件,涵盖财报、招股说明书、内幕交易等重要信息。对投资者、分析师及法律合规人员来说,实时监控这些公开文件具有重要价值。

2201_76125261的博客 594

110、3A 端到端调试:从 ISP register dump 到主观画质的完整调试流程

文章摘要 本文分享了ISP 3A(AE/AWB/AF)端到端调试的实战经验,通过具体案例解析常见问题排查方法。从硬件链路确认、寄存器dump分析、算法闭环验证到主观画质调优,提出了一套系统化调试流程。重点包括:如何通过示波器和寄存器抓包定位时序问题,AWB调试中black level校正的关键作用,AF闭环控制中hall传感器反馈的重要性,以及算法与硬件联调的"三板斧"方法论。作者强调3A调试本质是系统工程,需结合物理层信号测量、数据通路验证和算法状态跟踪,避免陷入局部优化陷阱。

sundong_81的博客 57

Java/1002. Find Common Characters 查找常用字符

题目 代码部分(4ms 99.26%) class Solution { public List<String> commonChars(String[] A) { List<String> res = new ArrayList(); if(A == null || A.length == 0) re...

qq_38959715的博客 1499

YOLOv11改进策略【小目标改进】| Shape-NWD:融合改进,结合Shape-IoU和NWD 更好地适应小目标特性

Bw−wgt2h−hgt2weight2Bweight2w−wgt​2h−hgt​2​其中weight2weight = 2weight2。

Limiiiing的博客 3050

1002. Find Common Characters

Given an array A of strings made only from lowercase letters, return a list of all characters that show up in all strings within the list (including duplicates). For example, if a character occurs 3 ...

maomao_dreamhigh的博客 369

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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

这是悦乐书的第375次更新,第402篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第236题(顺位题号是1002)。给定仅由小写字母组成的字符串A,返回列表中所有字符串都有显示的字符的列表(包括重复字符)。例如,如果一个字符在所有字符串中出现3次但不是4次,则需要在最终答案中包含该字符三次。 你可以按任何顺序返回答案。例如: 输入:["bella","la...

weixin_30493321的博客 84

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LeetCode-Find Common Characters

LeetCode Java Find Common Characters

坟头草一米七五 282

Find Common Characters

Given an arrayAof strings made only from lowercase letters, return a list of all characters that show up in all strings within the list(including duplicates).For example, if a character occurs 3 ...

m0_37889928的博客 404

1002. Find Common Characters查找常用字符

参考:https://leetcode.com/problems/find-common-characters/discuss/247573/C%2B%2B-O(n)-or-O(1)-two-vectors 地址:https://leetcode.com/problems/find-common-characters/ vector初始化:vector<int> a(7,3) ...

weixin_33714884的博客 174

LeetCode1002.Find Common Characters(查找常用字符 )

1002.Find Common Characters(查找常用字符 )DescriptionDifficulty: easyExample 1:Example 2:Note:分析参考代码 Description Given an array A of strings made only from lowercase letters, return a list of all characters...

redtongue的博客 487

【字符串】C040_LC_查找常用字符(求交集)

一、题目描述 Given an array A of strings made only from lowercase letters, return a list of all characters that show up in all strings within the list (including duplicates). For example, if a character o...

无敌兔0x01 524

leetcode刷题记录-1002查找常用字符[java,数组]*

题目 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。 你可以按任意顺序返回答案。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/find-common-characters 著作权归...

AG9GgG的博客 358

Leetcode 1002:查找常用字符(超详细的解法!!!)

给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。 你可以按任意顺序返回答案。 示例 1: 输入:["bella","label","roller"] 输出:["e","l","l"] 示例 2: 输入:["cool&quo

coordinate的博客 2340

leetcode1002查找常用字符(Java)(hashmap)

class Solution { public List<String> commonChars(String[] A) { Map<Character,Integer> map=new HashMap<>(); for(char c:A[0].toCharArray()){ map.put(...

qq_35706707的博客 404

【Leetcode】1002. Find Common Characters

class Solution1(object): """ use Counter's intersection and elements """ def commonChars(self, A): if len(A) == 0: return [] from collections import Counter C ...

很吵请安静 384

LeetCode算法题:查找常用字符commonChars

给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。 你可以按任意顺序返回答案。 示例 1: 输入:["bella","label","roller"] 输出:["e","l","l"] 示例 2: 输入:["cool","lock...

Mike的博客 256

城市探索新视角:用轮滑工具丈量个人生活圈与通勤半径

在城市交通规划与个人出行领域,通勤半径和生活圈是衡量城市可达性与生活质量的核心概念。其原理基于时空地理学,通过人力或辅助动力交通工具,在可接受的时间与体力成本内,界定个体的日常活动范围。这一实践不仅有助于优化个人出行效率,更能提升对城市空间的感知与利用。在技术价值上,它融合了路线规划、运动数据记录与地理信息标注,是城市探索与微出行的具体应用。应用场景广泛覆盖日常通勤替代、社区生活便利性评估、休闲健身路线开发及城市微旅行。本文聚焦于通过自行车、电动滑板车等轮滑工具,系统性地执行此类探索,涉及装备选型、安全准则

weixin_30522095的博客 355

LeetCode 1002. Find Common Character

原题 Given an array A of strings made only from lowercase letters, return a list of all characters that show up in all strings within the list (including duplicates). For example, if a character occurs...

likewind1993的博客 1887
上一篇: Leetcode 999. Available Captures for Rook , Java解法。
下一篇: Leetcode 867. Transpose Matrix, Java解法
YuanTheCoder
博客等级 码龄9年 2粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值