Skip to content

Latest commit

 

History

History
86 lines (54 loc) · 3.05 KB

03.02.07-Exercises.md

File metadata and controls

86 lines (54 loc) · 3.05 KB

03.02.07 练习题目(第 04 天)

1.1 题目大意

描述:给定两个字符串 haystackneedle

要求:在 haystack 字符串中找出 needle 字符串出现的第一个位置(从 0 开始)。如果不存在,则返回 -1

说明

  • needle 为空字符串时,返回 0
  • $1 \le haystack.length, needle.length \le 10^4$
  • haystackneedle 仅由小写英文字符组成。

示例

输入haystack = "hello", needle = "ll"
输出2
解释"sad" 在下标 0  6 处匹配第一个匹配项的下标是 0所以返回 0输入haystack = "leetcode", needle = "leeto"
输出-1
解释"leeto" 没有在 "leetcode" 中出现所以返回 -1

2.1 题目大意

描述:给定一个非空的字符串 s

要求:检查该字符串 s 是否可以通过由它的一个子串重复多次构成。

说明

  • $1 \le s.length \le 10^4$
  • s 由小写英文字母组成

示例

输入: s = "abab"
输出: true
解释: 可由子串 "ab" 重复两次构成输入: s = "aba"
输出: false

3.1 题目大意

描述:给定两个字符串 ab

要求:寻找重复叠加字符串 a 的最小次数,使得字符串 b 成为叠加后的字符串 a 的子串,如果不存在则返回 -1

说明

  • 字符串 "abc" 重复叠加 0 次是 "",重复叠加 1 次是 "abc",重复叠加 2 次是 "abcabc"
  • $1 \le a.length \le 10^4$
  • $1 \le b.length \le 10^4$
  • ab 由小写英文字母组成。

示例

输入a = "abcd", b = "cdabcdab"
输出3
解释a 重复叠加三遍后为 "abcdabcdabcd", 此时 b 是其子串输入a = "a", b = "aa"
输出2

习题解析

  1. 0028. 找出字符串中第一个匹配项的下标」习题解析:网页链接Github 链接
  2. 0459. 重复的子字符串」习题解析:网页链接Github 链接
  3. 0686. 重复叠加字符串匹配」习题解析:网页链接Github 链接