字符串
allesistgut
这个作者很懒,什么都没留下…
展开
-
【力扣】(中等)1208. 尽可能使字符串相等 --- 双指针
1208 尽可能使字符串相等给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的最大长度。如果 s 中没有子字符串可以转化成 t 中对应的子字符串,.原创 2021-02-05 10:56:58 · 115 阅读 · 0 评论 -
【力扣】(中等)316. 去除重复字母 ----- 哈希表 && 贪心 && 栈
316 去除重复字母给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例 1:输入:s = “cbacdcbc”输出:“acdb”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicate-letters解题思路:【贪心】:假设长度为n的字符串s,要求去掉一个字母使得其字典序最小,方法是找到第一个满足s[i]>s[i+1.原创 2020-12-21 09:04:13 · 180 阅读 · 1 评论 -
【力扣】290. 单词规律 ---- 哈希表(双向映射)
290 单词规律给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例 2:输入:pattern = "abba", str = "dog dog dog dog"输出: false来源:力扣(LeetCod.原创 2020-12-16 09:56:24 · 395 阅读 · 0 评论 -
【力扣】(中等) 49. 字母异位词分组 ------ 哈希表 && 排序 || 计数
字母异位词分组给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/group-anagr.原创 2020-12-14 09:16:28 · 155 阅读 · 1 评论 -
【力扣】1370. 上升下降字符串 ---- 哈希表
1370 上升下降字符串来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/increasing-decreasing-string给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择字符。从 s 中选出 最大 的字符,将它 接在 结果字符串的后.原创 2020-11-25 09:16:06 · 98 阅读 · 0 评论 -
【力扣】242. 有效的字母异位词 ----- 排序 || 哈希表
242 有效的字母异位词来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-anagram给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true解题思路:(1)排序:两个排序后进行比较。(2)哈希表:遍历s,dic记录26个字母出现的次数,再遍历t,对应位置减一,若dic出现小于0,则两者不是字母异位词。// c.原创 2020-11-23 20:43:25 · 197 阅读 · 0 评论 -
【力扣】283. 移动零 ---- 双指针
283 移动零 ---- 双指针来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/how-many-numbers-are-smaller-than-the-current-number给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。示例 2:输入:nu.原创 2020-11-19 11:36:36 · 212 阅读 · 0 评论 -
【力扣】20. 有效的括号 --- 哈希表 && 栈
20 有效的括号 — 哈希表 && 栈来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。解题思路: 哈希表key为右括号,value为左括号,遍历字符串,若遇到左括号压入栈,遇.原创 2020-11-18 16:48:22 · 127 阅读 · 0 评论 -
【剑指 Offer 随笔】05 替换空格
05 替换空格来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 10000解题思路:遍历s的逐个字符,若非空格,直接加到s_new末尾,若为空格,s_new末尾加上字符串‘%20’//C++.原创 2020-10-09 10:07:57 · 72 阅读 · 0 评论 -
【力扣】 (中等)738. 单调递增的数字 ---- 贪心
738 单调递增的数字给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234示例 3:输入: N = 332输出: 299Notes: 【c++】整数转字符串:to_string(N), 字符串转整数stoi(str_N)。来源:.原创 2020-12-15 10:17:28 · 248 阅读 · 0 评论