📅  最后修改于: 2023-12-03 15:41:50.180000             🧑  作者: Mango
本文是关于 Wipro 公司模拟测试的问题20的介绍,旨在帮助程序员更好地理解和解决这个问题。
在一个字符串中找到第一个不重复的字符并返回它的位置。如果不存在这样的字符,则返回 -1。
例如,输入字符串 "leetcode",输出应该为 0。
为了解决这个问题,我们需要遍历字符串并记录每个字符的频率。然后,我们再次遍历该字符串并找到第一个出现次数为1的字符。
def first_unique_char(s: str) -> int:
count = {}
for c in s:
if c in count:
count[c] += 1
else:
count[c] = 1
for i in range(len(s)):
if count[s[i]] == 1:
return i
return -1
在这个解法中,我们使用字典记录每个字符的频率。然后,我们再次遍历该字符串并找到第一个出现次数为1的字符。如果找到了这样的字符,则返回该字符的位置。否则,返回 -1。
为了测试我们的代码,我们可以使用一些简单的测试用例。
assert first_unique_char('leetcode') == 0
assert first_unique_char('loveleetcode') == 2
assert first_unique_char('aabbcc') == -1
本文介绍了 Wipro 公司模拟测试中的问题20,为程序员提供了解决该问题的解法。我们还提供了简单的测试用例以验证代码的正确性。