首页 > 试题广场 >

首个重复字符

[编程题]首个重复字符
  • 热度指数:42620 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。

给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。

测试样例:
"qywyer23tdd",11
返回:y
头像 重生之我要当分子
发表于 2024-12-30 17:23:07
解题思路 使用哈希表记录字符出现情况: 遍历字符串 记录每个字符的出现次数 再次遍历找到第一个重复的字符 优化方案: 使用数组代替哈希表(更高效) 使用布尔数组标记是否出现 第一次遍历就能找到结果 代码 cpp java python class FirstRe 展开全文
头像 摆烂摆烂摆烂
发表于 2022-05-15 15:00:11
class FirstRepeat: def findFirstRepeat(self, A, n): # write code here hash = {} for i in range(n): if hash.has 展开全文
头像 bao_hu_yuan_zhang
发表于 2024-01-12 11:24:05
class FirstRepeat { public: char findFirstRepeat(string A, int n) { int i=0; int len=A.size(); unordered_map<char, 展开全文
头像 贪吃的迪恩顶呱呱
发表于 2024-05-07 22:56:09
遍历字符串A,如果集合中不存在字符,将字符插入集合中;否则返回字符 class FirstRepeat { public: char findFirstRepeat(string A, int n) { unordered_set<char> st; 展开全文