如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
hakunamatata11
V2EX  ›  推广

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

  •  
  •   hakunamatata11 · Jan 10, 2020 · 1132 views
    This topic created in 2326 days ago, the information mentioned may be changed or developed.

    题目描述

    给定长度 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 线段树] +试听报名截图
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5798 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 06:50 · PVG 14:50 · LAX 23:50 · JFK 02:50
    ♥ Do have faith in what you're doing.