type
status
date
slug
summary
tags
category
icon
password

学习小结:

今日学习到了KMP和哈希表的使用

例题一:

题目描述:

给你一个下标从 0 开始的整数数组 nums 。
如果一个前缀 nums[0..i] 满足对于 1 <= j <= i 的所有元素都有 nums[j] = nums[j - 1] + 1 ,那么我们称这个前缀是一个 顺序前缀 。特殊情况是,只包含 nums[0] 的前缀也是一个 顺序前缀 。
请你返回 nums 中没有出现过的 最小 整数 x ,满足 x 大于等于 最长 顺序前缀的和。
示例 1:
示例 2:
提示:
  • 1 <= nums.length <= 50
  • 1 <= nums[i] <= 50

题解:

 

问题and重点

这个题目哇刚开始看错题目了,其实是从最开始找连续前缀,我以为是后面还有连续的前缀,把题目想复杂了

例题二:

题目描述

「快乐前缀」 是在原字符串中既是 非空 前缀也是后缀(不包括原字符串自身)的字符串。
给你一个字符串 s,请你返回它的 最长快乐前缀。如果不存在满足题意的前缀,则返回一个空字符串 "" 。
示例 1:
示例 2:
提示:
  • 1 <= s.length <= 105
  • s 只含有小写英文字母

题解:

问题and重点

该题的重点是使用KMP算法,可以计算出前缀和后缀
还有一种方法就是hash编码的方式

例题三:

题目描述:

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回  -1 
示例 1:
示例 2:
提示:
  • 1 <= haystack.length, needle.length <= 104
  • haystack 和 needle 仅由小写英文字符组成

题解:

 

问题and重点:

这个题的关键就是找到如何使用哈希表的方法,然后使用滑动窗口进行处理超出的范围
 
10.28+10.30算法学习每日学习进度汇报
Loading...