字符串
文章平均质量分 50
字符串
Sophia_fez
干啥啥不行,可爱第一名.jpg
展开
-
leetcode 1796. 字符串中第二大的数字(2022.12.3)
给你一个混合字符串 s ,请你返回 s 中 第二大 的数字,如果不存在第二大的数字,请你返回 -1。混合字符串 由小写英文字母和数字组成。原创 2022-12-03 01:51:23 · 183 阅读 · 0 评论 -
leetcode 1684. 统计一致字符串的数目(2022.11.8)
给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串。请你返回 words 数组中 一致字符串 的数目。int[26]的数组标识1。原创 2022-12-03 01:47:18 · 99 阅读 · 0 评论 -
leetcode 1704. 判断字符串的两半是否相似(2022.11.11)
两个字符串 相似 的前提是它们都含有相同数目的元音(‘a’,‘e’,‘i’,‘o’,‘u’,‘A’,‘E’,‘I’,‘O’,‘U’)。注意,s 可能同时含有大写和小写字母。给你一个偶数长度的字符串 s。将其拆分成长度相同的两半,前一半为 a ,后一半为 b。如果 a 和 b 相似,返回 true;否则,返回 false。原创 2022-12-01 00:14:41 · 242 阅读 · 0 评论 -
leetcode 1758. 生成交替二进制字符串的最少操作数(2022.11.29)
交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如,字符串 “010” 是交替字符串,而字符串 “0100” 不是。给你一个仅由字符 ‘0’ 和 ‘1’ 组成的字符串 s。一步操作中,你可以将任一 ‘0’ 变成 ‘1’ ,或者将 ‘1’ 变成 ‘0’。可以分别对0开头的和1开头的计数,但是这两种情况合起来一定等于len,所以遍历一次计数一种就可以了。返回使 s 变成 交替字符串 所需的 最少 操作数。原创 2022-11-29 00:58:46 · 146 阅读 · 0 评论 -
leetcode 1678. 设计 Goal 解析器(2022.11.6)
请你设计一个可以解释字符串 command 的 Goal 解析器。command 由 “G”、“()” 和/或 “(al)” 按某种顺序组成。Goal 解析器会将 “G” 解释为字符串 “G”、“()” 解释为字符串 “o” ,“(al)” 解释为字符串 “al”。然后,按原顺序将经解释得到的字符串连接成一个字符串。给你字符串 command ,返回 Goal 解析器 对 command 的解释结果。原创 2022-11-27 18:53:48 · 161 阅读 · 0 评论 -
leetcode *809. 情感丰富的文字(2022.11.25)
例如,以 “hello” 为例,我们可以对字母组 “o” 扩张得到 “hellooo”,但是无法以同样的方法得到 “helloo” 因为字母组 “oo” 长度小于 3。如果 S = “helllllooo”,那么查询词 “hello” 是可扩张的,因为可以对它执行这两种扩张操作使得 query = “hello” -> “hellooo” -> “helllllooo” = S。我们将相邻字母都相同的一串字符定义为相同字母组,例如:“h”, “eee”, “ll”, “ooo”。原创 2022-11-25 00:24:44 · 127 阅读 · 0 评论 -
leetcode 1668. 最大重复子字符串(2022.11.3)
给你一个字符串 sequence ,如果字符串 word 连续重复 k 次形成的字符串是 sequence 的一个子字符串,那么单词 word 的 重复值为 k。单词 word 的 最大重复值 是单词 word 在 sequence 中最大的重复值。如果 word 不是 sequence 的子串,那么重复值 k 为 0。给你一个字符串 sequence 和 word ,请你返回 最大重复值 k。不调用API这至少得是个middle吧……原创 2022-11-23 00:26:41 · 142 阅读 · 0 评论 -
leetcode *792. 匹配子序列的单词数(2022.11.17)(可以再记一下)
字符串的 子序列 是从原始字符串中生成的新字符串,可以从中删去一些字符(可以是none),而不改变其余字符的相对顺序。给定字符串 s 和字符串数组 words, 返回 words[i] 中是s的子序列的单词个数。大概看明白了,但字节写不出来哇,只会最简单的遍历啊,会超时啊= =例如, “ace” 是 “abcde” 的子序列。大概思路似乎看懂了,代码没完全看明白 = =原创 2022-11-17 00:37:10 · 159 阅读 · 0 评论 -
leetcode 1662. 检查两个字符串数组是否相等(2022.11.1)Swift String
给你两个字符串数组 word1 和 word2。如果两个数组表示的字符串相同,返回 true;否则,返回 false。数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。两个字符串相同,返回 true。原创 2022-11-15 23:21:24 · 264 阅读 · 0 评论 -
leetcode *791. 自定义字符串排序(2022.11.13)
acu,然后按照他自定义的字母序去排列s,新定义的字母序不一定包含全部26个字母,没在order内的则都认为是最低优先级的且不再分先后,都放到最后拼上就可以了。更具体地说,如果在 order 中的字符 x 出现字符 y 之前,那么在排列后的字符串中, x 也应该出现在 y 之前。记录s中每个字母出现的次数,然后遍历order,一次将对应个数的字母拼接,然后再遍历一遍计数数组,将剩余的不在order中的字母拼上。order 的所有字母都是 唯一 的,并且以前按照一些自定义的顺序排序。原创 2022-11-14 22:11:29 · 91 阅读 · 0 评论 -
leetcode *1405. 最长快乐字符串(2022.2.7)
【题目】*1405. 最长快乐字符串如果字符串中不含有任何 ‘aaa’,‘bbb’ 或 ‘ccc’ 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」。给你三个整数 a,b ,c,请你返回 任意一个 满足下列全部条件的字符串 s:s 是一个尽可能长的快乐字符串。s 中 最多 有a 个字母 ‘a’、b 个字母 ‘b’、c 个字母 ‘c’ 。s 中只含有 ‘a’、‘b’ 、‘c’ 三种字母。如果不存在这样的字符串 s ,请返回一个空字符串 “”。示例 1:输入:a = 1, b = 1,原创 2022-02-09 19:21:43 · 123 阅读 · 0 评论 -
leetcode 2047. 句子中的有效单词数(2022.1.27)
【题目】2047. 句子中的有效单词数句子仅由小写字母(‘a’ 到 ‘z’)、数字(‘0’ 到 ‘9’)、连字符(’-’)、标点符号(’!’、’.’ 和 ‘,’)以及空格(’ ')组成。每个句子可以根据空格分解成 一个或者多个 token ,这些 token 之间由一个或者多个空格 ’ ’ 分隔。如果一个 token 同时满足下述条件,则认为这个 token 是一个有效单词:仅由小写字母、连字符和/或标点(不含数字)。至多一个 连字符 ‘-’ 。如果存在,连字符两侧应当都存在小写字母(“a-b” 是原创 2022-02-04 22:59:47 · 159 阅读 · 0 评论 -
leetcode 1763. 最长的美好子字符串(2022.2.1)
【题目】1763. 最长的美好子字符串当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,“abABB” 是美好字符串,因为 ‘A’ 和 ‘a’ 同时出现了,且 ‘B’ 和 ‘b’ 也同时出现了。然而,“abA” 不是美好字符串因为 ‘b’ 出现了,而 ‘B’ 没有出现。给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。如果有多个答案,请你返回 最早 出现的一个。如果不存在美好子字符串,请你返回一个空字符串。示例 1:输入原创 2022-02-02 23:18:49 · 261 阅读 · 0 评论 -
leetcode 2000. 反转单词前缀(2022.2.2)
【题目】2000. 反转单词前缀给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。如果 word 中不存在字符 ch ,则无需进行任何操作。例如,如果 word = “abcdefd” 且 ch = “d” ,那么你应该 反转 从下标 0 开始、直到下标 3 结束(含下标 3 )。结果字符串将会是 “dcbaefd” 。返回 结果字符串 。示例 1:输入:word =原创 2022-02-02 22:58:48 · 416 阅读 · 0 评论 -
leetcode *71. 简化路径(2022.1.6)
【题目】*71. 简化路径给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,’//’)都被视为单个斜杠 ‘/’ 。 对于此问题,任何其他格式的点(例如,’…’)均被视为文件/目录名称。请注意,返回的 规范路径 必须遵循下述格式:始终以斜原创 2022-01-06 16:18:13 · 107 阅读 · 0 评论 -
leetcode 1576. 替换所有的问号(2022.1.5)
【题目】1576. 替换所有的问号给你一个仅包含小写英文字母和 ‘?’ 字符的字符串 s,请你将所有的 ‘?’ 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。注意:你 不能 修改非 ‘?’ 字符。题目测试用例保证 除 ‘?’ 字符 之外,不存在连续重复的字符。在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。示例 1:输入:s = "?zs"输出:"azs"解释:该示例共有 25 种解决方原创 2022-01-05 15:08:26 · 168 阅读 · 0 评论 -
leetcode **140. 单词拆分 II(待研究)(2020.11.1)
【题目】**140. 单词拆分 II给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict = ["cat", "cats", "and", "sand", "dog"]输出:[ "cats and dog", "cat sand dog"原创 2020-11-01 21:36:44 · 158 阅读 · 0 评论 -
leetcode *剑指 Offer 67. 把字符串转换成整数 & *8. 字符串转换整数 (atoi)(状态机)(2020.4.3)
【题目】*剑指 Offer 67. 把字符串转换成整数 & *8. 字符串转换整数 (atoi)写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后原创 2020-09-30 00:12:09 · 166 阅读 · 0 评论 -
leetcode **214. 最短回文串(2020.8.29)
【题目】**214. 最短回文串给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。示例 1:输入: "aacecaaa"输出: "aaacecaaa"示例 2:输入: "abcd"输出: "dcbabcd"【解题思路1】字符串哈希class Solution { public String shortestPalindrome(String s) { int n = s.length();原创 2020-08-29 10:36:56 · 157 阅读 · 0 评论 -
leetcode *647. 回文子串(待深究马拉车算法)(2020.8.19)
【题目】*647. 回文子串给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例 1:输入:"abc"输出:3解释:三个回文子串: "a", "b", "c"示例 2:输入:"aaa"输出:6解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa"提示:输入的字符串长度不会超过 1000 。【解题思路1】中心扩散枚举每一个可能的回文中心,然后再判断这些子串原创 2020-08-19 10:26:06 · 232 阅读 · 0 评论 -
leetcode *93. 复原IP地址(2020.8.9)
【题目】*93. 复原IP地址给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]【解题思路1】递归用递归函数 dfs(segId,segStart) 表示我们正在从s[segStart] 的位置开始,搜索 IP 地址中的第 segId 段,其中 segId原创 2020-08-09 09:11:20 · 333 阅读 · 0 评论 -
leetcode **336. 回文对(待研究)(2020.8.6)
【题目】**336. 回文对给定一组唯一的单词, 找出所有不同 的索引对(i, j),使得列表中的两个单词, words[i] + words[j] ,可拼接成回文串。示例 1:输入: ["abcd","dcba","lls","s","sssll"]输出: [[0,1],[1,0],[3,2],[2,4]] 解释: 可拼接成的回文串为 ["dcbaabcd","abcddcba","slls","llssssll"]示例 2:输入: ["bat","tab","cat"]输出: [[0,原创 2020-08-06 09:32:01 · 221 阅读 · 0 评论 -
leetcode *面试题 17.13. 恢复空格(字典树、待深究)(2020.7.9)
【题目】*面试题 17.13. 恢复空格哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识别的字符最少,返回未识别的字符原创 2020-07-09 09:48:52 · 260 阅读 · 0 评论 -
leetcode *面试题 16.18. 模式匹配(待研究)(2020.6.22)
【题目】*面试题 16.18. 模式匹配你有两个字符串,即pattern和value。 pattern字符串由字母"a"和"b"组成,用于描述字符串中的模式。例如,字符串"catcatgocatgo"匹配模式"aabab"(其中"cat"是"a",“go"是"b”),该字符串也匹配像"a"、"ab"和"b"这样的模式。但需注意"a"和"b"不能同时表示相同的字符串。编写一个方法判断value字符串是否匹配pattern字符串。示例 1:输入: pattern = "abba", value = "do原创 2020-06-22 11:18:35 · 196 阅读 · 0 评论 -
leetcode 剑指 Offer 58 - II. 左旋转字符串
【题目】剑指 Offer 58 - II. 左旋转字符串字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2输出: "cdefgab"示例 2:输入: s = "lrloseumgh", k = 6输出: "umghlrlose"限制:1 <= k < s.length原创 2020-06-20 11:12:50 · 202 阅读 · 0 评论 -
leetcode 125. 验证回文串(2020.6.19)
【题目】给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false【解题思路1】非数字非字母的都替换成空格大写都改为小写class Solu...原创 2020-03-12 16:06:44 · 231 阅读 · 0 评论 -
leetcode 剑指 Offer 50. 第一个只出现一次的字符
【题目】【解题思路1】【解题思路2】原创 2020-06-17 09:50:49 · 163 阅读 · 0 评论 -
leetcode 剑指 Offer 05. 替换空格
【题目】面试题05. 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000【解题思路1】s.replace() 或者 StringBuilderclass Solution { public String replaceSpace(String s) { return s.replace(" ","原创 2020-06-10 12:33:17 · 205 阅读 · 0 评论 -
leetcode 面试题 16.15. 珠玑妙算
【题目】面试题 16.15. 珠玑妙算珠玑妙算游戏(the game of master mind)的玩法如下。计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”。给定一种颜色组合solution和一个猜测gu原创 2020-06-06 10:45:45 · 281 阅读 · 0 评论 -
leetcode 面试题 10.05. 稀疏数组搜索
【题目】面试题 10.05. 稀疏数组搜索稀疏数组搜索。有个排好序的字符串数组,其中散布着一些空字符串,编写一种方法,找出给定字符串的位置。示例1: 输入: words = ["at", "", "", "", "ball", "", "", "car", "", "","dad", "", ""], s = "ta" 输出:-1 说明: 不存在返回-1。示例2: 输入:words = ["at", "", "", "", "ball", "", "", "car", "", "","dad原创 2020-06-04 13:52:53 · 254 阅读 · 0 评论 -
leetcode 面试题 01.09. 字符串轮转
【题目】面试题 01.09. 字符串轮转字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。示例1: 输入:s1 = "waterbottle", s2 = "erbottlewat" 输出:True示例2: 输入:s1 = "aa", "aba" 输出:False提示:字符串长度在[0, 100000]范围内。说明:你能只调用一次检查子串的方法吗?【解题思路1】满足题目要求的 s2原创 2020-05-28 12:12:56 · 200 阅读 · 0 评论 -
leetcode *394. 字符串解码(2020.5.28)
【题目】*394. 字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。示例:s = “3[a]2[bc]”, 返回 “aaabcbc”.s原创 2020-05-28 11:27:29 · 236 阅读 · 0 评论 -
leetcode 面试题 01.03. URL化
【题目】面试题 01.03. URL化URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例1: 输入:"Mr John Smith ", 13 输出:"Mr%20John%20Smith"示例2: 输入:" ", 5 输出:"%20%20%20%20%20"提示:字符串长度在[0, 500000]范围内原创 2020-05-27 12:25:25 · 187 阅读 · 0 评论 -
leetcode 面试题 01.02. 判定是否互为字符重排
【题目】面试题 01.02. 判定是否互为字符重排给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = "abc", s2 = "bca"输出: true 示例 2:输入: s1 = "abc", s2 = "bad"输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <= 100【解题思路1】int[26]class Solution {原创 2020-05-27 12:16:11 · 207 阅读 · 0 评论 -
leetcode 面试题 01.01. 判定字符是否唯一
【题目】面试题 01.01. 判定字符是否唯一实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例 1:输入: s = "leetcode"输出: false 示例 2:输入: s = "abc"输出: true限制:0 <= len(s) <= 100如果你不使用额外的数据结构,会很加分。【解题思路1】int[26]class Solution { public boolean isUnique(String astr) { int原创 2020-05-26 14:58:38 · 215 阅读 · 0 评论 -
leetcode 5416. 检查单词是否为句中其他单词的前缀
【题目】5416. 检查单词是否为句中其他单词的前缀给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成。请你检查检索词 searchWord 是否为句子 sentence 中任意单词的前缀。如果 searchWord 是某一个单词的前缀,则返回句子 sentence 中该单词所对应的下标(下标从 1 开始)。如果 searchWord 是多个单词的前缀,则返回匹配的第一个单词的下标(最小下标)。如果 searchWord 不原创 2020-05-24 12:57:59 · 290 阅读 · 0 评论 -
leetcode 1446. 连续字符
【题目】1446. 连续字符给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。请你返回字符串的能量。示例 1:输入:s = "leetcode"输出:2解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。示例 2:输入:s = "abbcccddddeeeeedcba"输出:5解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。示例 3:输入:s = "triplepillooooow"输出:5示例 4:输入:原创 2020-05-23 16:04:42 · 329 阅读 · 0 评论 -
leetcode 1436. 旅行终点站
【题目】1436. 旅行终点站给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。题目数据保证线路图会形成一条不存在循环的线路,因此只会有一个旅行终点站。示例 1:输入:paths = [["London","New York"],["New York","Lima"],["Lima","Sao Pau原创 2020-05-23 15:13:23 · 271 阅读 · 0 评论 -
leetcode 1417. 重新格式化字符串
【题目】1417. 重新格式化字符串给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母。请你将该字符串重新格式化,使得任意两个相邻字符的类型都不同。也就是说,字母后面应该跟着数字,而数字后面应该跟着字母。请你返回 重新格式化后 的字符串;如果无法按要求重新格式化,则返回一个 空字符串 。示例 1:输入:s = "a0b1c2"输出:"0a1b2c"解释:"0a1b2c" 中任意两个相邻字符的类型都不同。 "a0b1c2", "0a1b2c", "0c2a1b" 也是满足题目要求的原创 2020-05-23 14:42:22 · 236 阅读 · 0 评论 -
leetcode 1408. 数组中的字符串匹配
【题目】1408. 数组中的字符串匹配给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 word[i] ,那么字符串 words[i] 就是 words[j] 的一个子字符串。示例 1:输入:words = ["mass","as","hero","superhero"]输出:["as","hero"]解释:"as" 是 "mass"原创 2020-05-23 14:02:27 · 299 阅读 · 0 评论