博客
关于我
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/

    你可能感兴趣的文章
    nginx添加模块与https支持
    查看>>
    Nginx的Rewrite正则表达式,匹配非某单词
    查看>>
    Nginx的使用总结(一)
    查看>>
    Nginx的是什么?干什么用的?
    查看>>
    Nginx访问控制_登陆权限的控制(http_auth_basic_module)
    查看>>
    nginx负载均衡器处理session共享的几种方法(转)
    查看>>
    nginx负载均衡的5种策略(转载)
    查看>>
    nginx负载均衡的五种算法
    查看>>
    Nginx配置ssl实现https
    查看>>
    Nginx配置TCP代理指南
    查看>>
    Nginx配置代理解决本地html进行ajax请求接口跨域问题
    查看>>
    Nginx配置参数中文说明
    查看>>
    Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
    查看>>
    Nio ByteBuffer组件读写指针切换原理与常用方法
    查看>>
    NIO Selector实现原理
    查看>>
    nio 中channel和buffer的基本使用
    查看>>
    NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
    查看>>
    Nitrux 3.8 发布!性能全面提升,带来非凡体验
    查看>>