leetcode 1002. 查找共用字符

这篇具有很好参考价值的文章主要介绍了leetcode 1002. 查找共用字符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2023.9.6

leetcode 1002. 查找共用字符,leetcode专栏,leetcode,算法,职场和发展        个人感觉这题难度不止简单,考察到的东西还是挺多的。 首先理解题意,可以将题意转化为:求字符串数组中 各字符串共同出现的字符的最小值。  分为三步做:

  1. 构造一个哈希表hash,初始化第一个字符串的字母出现频率。
  2. 再构造一个哈希表other_hash,用来依次统计后面的字符串中每个字符出现的频率,每个字符串统计完之后和上一个哈希表对比,取频率小的那个值。
  3. 遍历第一个hash表将频率大于0的字符放入ans中。

        代码如下:

class Solution {
public:
    vector<string> commonChars(vector<string>& words) {
        //本题可以简化为求数组中各字符串共同出现的字符的最小值
        vector<string> ans;
        int hash[26] = {0};
        //初始化第一个字符串的字母出现频率
        for(int i=0; i<words[0].size(); i++)
        {
            hash[words[0][i]-'a'] += 1; 
        }
        int other_hash[26] = {0};
        //每个字符串都统计出频率,并和第一个字符串的频率比较,取小的那一个。
        for(int i=1; i<words.size(); i++)
        {
            memset(other_hash , 0 , 26*(sizeof(int))); //重新初始化other_hash数组为全0
            for(int j=0; j<words[i].size(); j++)
            {
                other_hash[words[i][j]-'a'] += 1;
            }
            for(int k=0; k<26; k++)
            {
                hash[k] = min(hash[k] , other_hash[k]);
            }
        }
        //遍历hash将频率大于0的字符放入ans中
        for(int i=0; i<26; i++)
        {
            string s(1 , 'a'+i);
            while(hash[i]--) ans.push_back(s); 
        }
        return ans;
    }
};

        ps:有几个点注意下:文章来源地址https://www.toymoban.com/news/detail-698504.html

  • memset函数: void *memset(void *str, int c, size_t n)  ,用于复制字符 到参数 str 所指向的字符串的前 n 个字符,最后一个参数是这n个字符占的内存大小。 本题用于将other_hash表重新初始化为全0值。
  • string s(1 , 'a'+i): 在结尾遍历hash函数的时候,需要将数字转化为对应的字母,如:0对应a,1对应b。 这里string的用法为:第一个参数代表要创建一个包含一个字符的字符串,第二个参数代表这个字符的值由整数i加上字符 'a' 的ASCII码值决定。

到了这里,关于leetcode 1002. 查找共用字符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023-08-15 LeetCode每日一题(字符串中的查找与替换)

    点击跳转到题目位置 你会得到一个字符串 s (索引从 0 开始),你必须对它执行 k 个替换操作。替换操作以三个长度均为 k 的并行数组给出:indices, sources, targets。 要完成第 i 个替换操作: 检查 子字符串 sources[i] 是否出现在 原字符串 s 的索引 indices[i] 处。 如果没有出现, 什么

    2024年02月12日
    浏览(33)
  • 【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人

    《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌ 更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍 感谢小伙伴 们点赞、关注! class   Solution :      def   findContentChildren ( self ,  g :  List [ int ],  s

    2024年02月04日
    浏览(42)
  • [职场] 会计学专业学什么 #其他#知识分享#职场发展

    会计学专业学什么 会计学专业属于工商管理学科下的一个二级学科,本专业培养具备财务、管理、经济、法律等方面的知识和能力,具有分析和解决财务、金融问题的基本能力,能在企、事业单位及政府部门从事会计实务以及教学、科研方面工作的工商管理学科高级专门人才

    2024年02月20日
    浏览(40)
  • 字符串查找匹配算法

    字符串匹配(查找)是字符串的一种基本操作:给定带匹配查询的文本串S和目标子串T,T也叫做模式串。在文本S中找到一个和模式T相符的子字符串,并返回该子字符串在文本中的位置。 Brute Force Algorithm,也叫朴素字符串匹配算法,Naive String Matching Algorithm。 基本思路就是将

    2024年02月14日
    浏览(46)
  • 学习平台助力职场发展与提升

    近年来,随着互联网技术的发展, 学习平台 逐渐成为了职场发展和提升的必备工具。学习平台通过提供丰富的课程内容、灵活的学习时间和个性化的学习路径,帮助职场人士更好地提升自己的技能和知识储备,为职场发展打下坚实的基础。 学习平台的优势在于提供了丰富多

    2024年02月11日
    浏览(39)
  • 如何手机搜学法减分答案? #媒体#职场发展

    今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.证件照全能管家(APP) 一个非常好用的证件照APP 常用的证件照尺寸和底色都有、日常的证件照编辑完全够用,支持一键智能拍摄证件照,还可以对照片

    2024年02月19日
    浏览(39)
  • Leetcode算法解析——查找总价格为目标值的两个商品

    商品价格按照升序记录于数组 price 。请在购物车中找到两个商品的价格总和刚好是 target 。若存在多种情况,返回任一结果即可。 示例 1: 示例 2: 提示: 1 = price.length = 10^5 1 = price[i] = 10^6 1 = target = 2*10^6 用两层循环把所有的可能性都列举出来,然后判断是否有等目标值的两

    2024年02月07日
    浏览(35)
  • 【算法|二分查找No.4】leetcode 852. 山脉数组的峰顶索引

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助 🍓希望我们一起努力、成长,共同进步。

    2024年02月05日
    浏览(39)
  • 【职业人生】如何有效的在职场当中避免工作失误和提高个人发展

         《左传·宣公二年》:“人谁无过,过而能改,善莫大焉。”古往今来,多少人犯过错误。强大如“智绝”的诸葛孔明,也有街亭之失。职场人更是难免会在工作中出现失误。     在职场生涯当中避免不了在工作当中带来的失误,在这过程当中,我们应当要学会怎么去

    2024年02月08日
    浏览(32)
  • [office] excel成绩表格数据排名次的教程 #职场发展#知识分享#媒体

    excel成绩表格数据排名次的教程 Excel 中经常需要使用到 排名 次的技巧,成绩表格数据具体该如何排名呢?接下来是小编为大家带来的excel成绩表格数据排名次的教程,供大家参考。 步骤1:不管在学校还是各个统计领域,排名应用随处可见,如果排序会打乱原有次序,那么好多

    2024年02月21日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包