leetcode代码记录(第一个出现两次的字母

简介: leetcode代码记录(第一个出现两次的字母

1. 题目:

给你一个由小写英文字母组成的字符串 s ,请你找出并返回第一个出现 两次 的字母。

注意:

如果 a 的 第二次 出现比 b 的 第二次 出现在字符串中的位置更靠前,则认为字母 a 在字母 b 之前出现两次。

s 包含至少一个出现两次的字母。

示例 1:

输入:s = “abccbaacz”

输出:“c”

解释:

字母 ‘a’ 在下标 0 、5 和 6 处出现。

字母 ‘b’ 在下标 1 和 4 处出现。

字母 ‘c’ 在下标 2 、3 和 7 处出现。

字母 ‘z’ 在下标 8 处出现。

字母 ‘c’ 是第一个出现两次的字母,因为在所有字母中,‘c’ 第二次出现的下标是最小的。

示例 2:

输入:s = “abcdd”

输出:“d”

解释:

只有字母 ‘d’ 出现两次,所以返回 ‘d’ 。

2. 我的代码:

from collections import defaultdict
class Solution:
    def repeatedCharacter(self, s: str) -> str:
        dic = defaultdict(int)
        for i in s:
            dic[i] += 1
            if dic[i] >= 2:
                return i

又是一个哈希表的应用,当然这里用defaultdict比较方便,一个一个字母进行统计,只要得到的累计结果是2,则要找到字母就是它。

目录
相关文章
|
4天前
|
机器学习/深度学习
leetcode代码记录(旋转图像
leetcode代码记录(旋转图像
9 0
|
4天前
|
算法
leetcode代码记录(全排列 II
leetcode代码记录(全排列 II
13 4
|
4天前
|
算法
leetcode代码记录(全排列
leetcode代码记录(全排列
12 1
|
4天前
|
索引
leetcode代码记录(Z 字形变换
leetcode代码记录(Z 字形变换
11 1
|
4天前
leetcode代码记录(最长回文子串
leetcode代码记录(最长回文子串
10 2
|
4天前
leetcode代码记录(回文数
leetcode代码记录(回文数
12 1
|
4天前
|
算法
leetcode代码记录(寻找两个正序数组的中位数
leetcode代码记录(寻找两个正序数组的中位数
13 2
|
4天前
|
算法 C++
【刷题】Leetcode 1609.奇偶树
这道题是我目前做过最难的题,虽然没有一遍做出来,但是参考大佬的代码,慢慢啃的感觉的真的很好。刷题继续!!!!!!
9 0
|
4天前
|
算法 索引
【刷题】滑动窗口精通 — Leetcode 30. 串联所有单词的子串 | Leetcode 76. 最小覆盖子串
经过这两道题目的书写,相信大家一定深刻认识到了滑动窗口的使用方法!!! 下面请大家继续刷题吧!!!
12 0