V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hakunamatata11
V2EX  ›  推广

[LintCode 题解 | 阿里巴巴面试题:寻找字串]

  •  
  •   hakunamatata11 · 2020-01-10 15:57:11 +08:00 · 776 次点击
    这是一个创建于 1783 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题目描述

    给定长度 k,找出字符串 str 里面所有长为 k 的子串。子串的字符不能重复,输出满足这样条件的子串数量(子串相同的只算 1 个)。

    思路点拨

    用双指针可以将所有的满足条件的子串找出来,在去重方面可以采用字符串 hash,也可以直接 HashMap 或者 HashSet 去重。

    考点分析

    本题主要考察双指针,仔细分析一下,字符全是小写字母,所有有效的字符串最多长度为 26, 当 k>26 时直接输出 0,k<=26 时用 HashMap 或者 HashSet,复杂度 O(n)。如果这题卡壳了,则需要好好的去刷刷双指针的题目。

    九章参考程序 https://www.jiuzhang.com/solution/find-substring/?utm_source=sc-v2ex-fks


    最后,给大家送一波算法课福利~

    线段树与树状数组》这门原价$199 的课程,现在免费即可获得!

    参与方式

    1. 戳我免费试听后,添加九章 Sunny 微信 jiuzhang15
    2. 回复 [ V2EX 线段树] +试听报名截图
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3505 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 89ms · UTC 04:52 · PVG 12:52 · LAX 20:52 · JFK 23:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.