博客
关于我
916. Word Subsets
阅读量:432 次
发布时间:2019-03-06

本文共 1489 字,大约阅读时间需要 4 分钟。

要解决这个问题,我们需要找到数组A中所有满足条件的通用词。通用词的定义是,对于数组B中的每一个词b,b都是A中的这个词的子集。子集的定义是每个字母在b中出现的次数在A中的词中至少出现相同次数。

方法思路

  • 计算频率:对于每个B中的词b,计算其每个字母的出现次数,形成一个频率数组。
  • 确定最大频率:找出B中所有词的频率数组中每个字母的最大频率,形成max_freq数组。
  • 检查通用词:对于A中的每个词a,计算其每个字母的出现次数,检查其是否满足每个字母的频率都不低于max_freq中的对应值。如果满足,则将其加入结果列表。
  • 解决代码

    import java.util.ArrayList;import java.util.List;public class Solution {    public List
    wordSubsets(String[] A, String[] B) { int[] maxFreq = new int[26]; for (String b : B) { int[] freq = countLetters(b); for (int i = 0; i < 26; i++) { if (freq[i] > maxFreq[i]) { maxFreq[i] = freq[i]; } } } List
    result = new ArrayList<>(); for (String a : A) { int[] aFreq = countLetters(a); boolean isUniversal = true; for (int i = 0; i < 26; i++) { if (aFreq[i] < maxFreq[i]) { isUniversal = false; break; } } if (isUniversal) { result.add(a); } } return result; } private int[] countLetters(String s) { int[] count = new int[26]; for (char c : s.toCharArray()) { count[c - 'a']++; } return count; }}

    代码解释

  • 计算频率countLetters方法遍历字符串,统计每个字母的出现次数,返回频率数组。
  • 确定最大频率:在主方法中,遍历B数组,更新maxFreq数组,记录每个字母的最大频率。
  • 检查通用词:对于A中的每个词,计算其频率数组,比较其与maxFreq数组,满足条件则加入结果列表。
  • 该方法高效且直接,能够在合理时间内处理大规模输入,确保结果的准确性和性能。

    转载地址:http://gftuz.baihongyu.com/

    你可能感兴趣的文章
    Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
    查看>>
    Network Sniffer and Connection Analyzer
    查看>>
    Nginx Location配置总结
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 我们必须知道的那些事
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>
    OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
    查看>>
    OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
    查看>>
    Objective-C实现A-Star算法(附完整源码)
    查看>>
    Objective-C实现area under curve曲线下面积算法(附完整源码)
    查看>>
    Objective-C实现atoi函数功能(附完整源码)
    查看>>
    Objective-C实现base64加密和base64解密算法(附完整源码)
    查看>>
    Objective-C实现base85 编码算法(附完整源码)
    查看>>
    Objective-C实现basic graphs基本图算法(附完整源码)
    查看>>
    Objective-C实现BCC校验计算(附完整源码)
    查看>>
    Objective-C实现bead sort珠排序算法(附完整源码)
    查看>>
    Objective-C实现BeadSort珠排序算法(附完整源码)
    查看>>
    Objective-C实现bellman ford贝尔曼福特算法(附完整源码)
    查看>>