做信息类网站有哪些,电子商务教材电子版,怎么建设QQ网站,信息最全的网站这里写目录标题 一、387. 字符串中的第一个唯一字符二、1189. “气球” 的最大数量三、1221. 分割平衡字符串 一、387. 字符串中的第一个唯一字符
简单
给定一个字符串 s #xff0c;找到 它的第一个不重复的字符#xff0c;并返回它的索引 。如果不存在#xff0c;则返回… 这里写目录标题 一、387. 字符串中的第一个唯一字符二、1189. “气球” 的最大数量三、1221. 分割平衡字符串 一、387. 字符串中的第一个唯一字符
简单
给定一个字符串 s 找到 它的第一个不重复的字符并返回它的索引 。如果不存在则返回 -1 。
示例 1 输入: s “leetcode” 输出: 0
示例 2: 输入: s “loveleetcode” 输出: 2
示例 3: 输入: s “aabb” 输出: -1
def test(s):top[]dic{}for i in s:if i not in dic:dic[i]1top.append(i)else:dic[i]1if i in top:top.remove(i)if len(top)0:return -1else:return s.index(top[0])sleetcode
print(test(s))
二、1189. “气球” 的最大数量
提示 简单 给你一个字符串 text你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”气球。 字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。
def fn1(text, balloon):cnt Counter(text)target Counter(balloon)return min(cnt[k] // target[k] for k in target)text nlaebolko
balloon balloon
print(fn1(text, balloon))三、1221. 分割平衡字符串
提示 简单
平衡字符串 中‘L’ 和 ‘R’ 字符的数量是相同的。 给你一个平衡字符串 s请你将它分割成尽可能多的子字符串并满足 每个子字符串都是平衡字符串。 返回可以通过分割得到的平衡字符串的 最大数量 。
示例 1 输入s “RLRRLLRLRL” 输出4 解释s 可以分割为 “RL”、“RRLL”、“RL”、“RL” 每个子字符串中都包含相同数量的 ‘L’ 和 ‘R’ 。
示例 2 输入s “RLRRRLLRLL” 输出2 解释s 可以分割为 “RL”、“RRRLLRLL”每个子字符串中都包含相同数量的 ‘L’ 和 ‘R’ 。 注意s 无法分割为 “RL”、“RR”、“RL”、“LR”、“LL” 因为第 2 个和第 5 个子字符串不是平衡字符串。
示例 3 输入s “LLLLRRRR” 输出1 解释s 只能保持原样 “LLLLRRRR” 。
无脑走栈的操作思路 循环字符串s 当栈为空或者栈顶元素等于当前元素时入栈 否则出栈 每次循环结束如果栈内为空表示找到了一个符合条件结果1 最终返回结果ret即可
def Solution(s):ret0stack[]for i in s:if not stack or stack[-1]i:stack.append(i)else:stack.pop()if not stack:ret1return rets RLRRRLLRLL
print(Solution(s))