📌  相关文章
📜  国际空间研究组织 | ISRO CS 2016 |问题 65(1)

📅  最后修改于: 2023-12-03 15:07:34.649000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2016 |问题 65

简介

国际空间研究组织(Indian Space Research Organisation,简称ISRO)是印度的国家航天机构,成立于1969年,总部位于班加罗尔。ISRO的使命是促进印度的空间技术和应用领域的发展,并为印度的经济和人类发展做出贡献。

ISRO CS 2016 | 问题 65

这个问题是 ISRO CS 2016 计算机科学考试的第65道题目,具体内容如下:

给定一个字符串S,找到S中第一个非重复字符的位置。如果没有,则返回-1。

例如,如果 S = "leetcode",则返回0。

示例输入:
"leetcode"
示例输出:
0
解题思路

定义一个hashmap,key表示字符,value表示字符出现的次数。第一次遍历字符串,将每个字符出现的次数存入hashmap中。第二次遍历字符串,找到第一个出现次数为1的字符,返回它的位置。如果遍历完整个字符串都没有找到符合条件的字符,返回-1。

具体实现请看代码:

def firstUniqChar(s: str) -> int:
    if not s:
        return -1
    char_map = {}
    for c in s:
        if c in char_map:
            char_map[c] += 1
        else:
            char_map[c] = 1
    for i in range(len(s)):
        if char_map[s[i]] == 1:
            return i
    return -1
总结

本题考察了字符串的遍历和哈希表的应用。需要注意的是,在字符串为空的情况下,应返回-1。