day9打卡

6. 实现 strStr(),找出字符串中第一个匹配项的下标

  1. 暴力解法
    时间复杂度为O(m*n)
var strStr = function(haystack, needle) {
    const n = haystack.length, m = needle.length;
    for(let i = 0; i + m <= n; i++) {
        let flag = true;
        for(let j = 0; j < m; j++) {
            if(haystack[i + j] != needle[j]) {
                flag = false;
                break;
            }
        }
    }
    if(flag) {
        return i;
    }
    return -1;
};
  1. KPM算法,跳过

7. 重复的子字符串(跳过)

8. 字符串总结

  1. 会经常使用双指针法
  2. 使用库函数最好清楚其原理以及时间复杂度

9. 双指针法总结

你可能感兴趣的:(算法打卡,算法)