
字符串
文章平均质量分 58
文艺范ya
慢慢来吧,谁都有努力的过程
展开
-
字符串中不同整数的数目(去除前导零)
题目描述:给你一个字符串 word ,该字符串由数字和小写英文字母组成。请你用空格替换每个不是数字的字符。例如,“a123bc34d8ef34” 将会变成 " 123 34 8 34" 。注意,剩下的这些整数为(相邻彼此至少有一个空格隔开):“123”、“34”、“8” 和 “34” 。返回对 word 完成替换后形成的 不同 整数的数目。只有当两个整数的不含前导零的十进制表示不同, 才认为这两个整数也不同。示例 1:输入:word = “a123bc34d8ef34”输出:3解释:不同原创 2021-12-01 09:48:56 · 340 阅读 · 0 评论 -
KMP
左神视频链接:public class Solution { public static void main(String[] args) { String str1 = "jsdkfjfisodfjskkjji"; String str2 = "fiso"; System.out.println(getIndexOf(str1, str2)); } public static int getIndexOf(String str1转载 2021-03-21 10:47:46 · 134 阅读 · 0 评论 -
LeetCode——1356. 根据数字二进制下 1 的数目排序
题木描述:给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。请你返回排序后的数组。提示:1 <= arr.length <= 5000 <= arr[i] <= 10^4示例 1:输入:arr = [0,1,2,3,4,5,6,7,8]输出:[0,1,2,4,8,3,5,6,7]解释:[0] 是唯一一个有 0 个 1 的数。[1,2,4,8] 都有原创 2021-03-12 14:49:23 · 136 阅读 · 0 评论 -
LeetCode——859. 亲密字符串
题目描述:给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。交换字母的定义是取两个下标 i 和 j (下标从 0 开始),只要 i!=j 就交换 A[i] 和 A[j] 处的字符。例如,在 “abcd” 中交换下标 0 和下标 2 的元素可以生成 “cbad” 。提示:0 <= A.length <= 200000 <= B.length <= 20000A 和 B 仅原创 2021-03-10 16:55:53 · 99 阅读 · 0 评论 -
LeetCode——819. 最常见的单词
题目描述:给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。提示:1 <= 段落长度 <= 10000 <= 禁用单词个数 <= 1001 <= 禁用单词长度 <= 10答案是唯一的, 且都是小写字母 (即使在 paragraph 里是大写的,即使是一原创 2021-03-10 15:36:05 · 105 阅读 · 0 评论 -
LeetCode——1078. Bigram 分词
题目描述:给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 “first second third” 形式出现的情况,其中 second 紧随 first 出现,third 紧随 second 出现。对于每种这样的情况,将第三个词 “third” 添加到答案中,并返回答案。提示:1 <= text.length <= 1000text 由一些用空格分隔的单词组成,每个单词都由小写英文字母组成1 <= first.length, second原创 2021-03-10 12:17:48 · 85 阅读 · 0 评论 -
LeetCode——1455. 检查单词是否为句中其他单词的前缀
题目描述:给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成。请你检查检索词 searchWord 是否为句子 sentence 中任意单词的前缀。如果 searchWord 是某一个单词的前缀,则返回句子 sentence 中该单词所对应的下标(下标从 1 开始)。如果 searchWord 是多个单词的前缀,则返回匹配的第一个单词的下标(最小下标)。如果 searchWord 不是任何单词的前缀,则返回 -1 。字原创 2021-03-07 20:03:47 · 127 阅读 · 0 评论 -
LeetCode——面试题 01.06. 字符串压缩
题目描述:字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。提示:字符串长度在[0, 50000]范围内。示例1:输入:“aabcccccaaa”输出:“a2b1c5a3”示例2:输入:“abbccd”输出:“abbccd”解释:“abbccd"压缩后为"a1b2c2d1”,比原字符串长度更长。原创 2021-03-07 19:09:22 · 146 阅读 · 0 评论 -
LeetCode——1317. 将整数转换为两个无零整数的和
题目描述:「无零整数」是十进制表示中 不含任何 0 的正整数。给你一个整数 n,请你返回一个 由两个整数组成的列表 [A, B],满足:A 和 B 都是无零整数A + B = n题目数据保证至少有一个有效的解决方案。如果存在多个有效解决方案,你可以返回其中任意一个。提示:2 <= n <= 10^4示例 1:输入:n = 2输出:[1,1]解释:A = 1, B = 1. A + B = n 并且 A 和 B 的十进制表示形式都不包含任何 0 。示例 2:输入原创 2021-03-07 18:19:18 · 126 阅读 · 0 评论 -
计算连续字符的个数
题目描述:给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。请你返回字符串的能量。提示:1 <= s.length <= 500s 只包含小写英文字母。示例 1:输入:s = “leetcode”输出:2解释:子字符串 “ee” 长度为 2 ,只包含字符 ‘e’ 。示例 2:输入:s = “abbcccddddeeeeedcba”输出:5解释:子字符串 “eeeee” 长度为 5 ,只包含字符 ‘e’ 。示例 3:输入:s =原创 2021-03-07 17:03:59 · 2609 阅读 · 0 评论 -
LeetCode——696. 计数二进制子串
题目描述:给定一个字符串 s,计算具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中的所有 0 和所有 1 都是连续的。重复出现的子串要计算它们出现的次数。提示:s.length 在1到50,000之间。s 只包含“0”或“1”字符。示例 1 :输入: “00110011”输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。请注意,一些重复出现的子串要计算它们出现的次数。另外,“0原创 2021-03-07 15:41:42 · 146 阅读 · 0 评论 -
LeetCode——942. 增减字符串匹配
题目描述:给定只含 “I”(增大)或 “D”(减小)的字符串 S ,令 N = S.length。返回 [0, 1, …, N] 的任意排列 A 使得对于所有 i = 0, …, N-1,都有:如果 S[i] == “I”,那么 A[i] < A[i+1]如果 S[i] == “D”,那么 A[i] > A[i+1]提示:1 <= S.length <= 10000S 只包含字符 “I” 或 “D”。示例 1:输入:“IDID”输出:[0,4,1,3,2]原创 2021-03-06 15:57:28 · 92 阅读 · 0 评论 -
LeetCode——1309. 解码字母到整数映射
题目描述:给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。我们希望按下述规则将 s 映射为一些小写英文字符:字符(‘a’ - ‘i’)分别用(‘1’ - ‘9’)表示。字符(‘j’ - ‘z’)分别用(‘10#’ - ‘26#’)表示。返回映射之后形成的新字符串。题目数据保证映射始终唯一。提示:1 <= s.length <= 1000s[i] 只包含数字(‘0’-‘9’)和 ‘#’ 字符。s 是映射始终存在的有效字符串。示例 1:输入:s =原创 2021-03-06 15:33:08 · 187 阅读 · 0 评论