一只猪


私信TA

用户名:TuT99

访问量:6725

签 名:

拥有良好的积累,并且一直在路上,我相信自己有无限的可能

等  级
排  名 74
经  验 9600
参赛次数 6
文章发表 66
年  龄 21
在职情况 学生
学  校 哔哩哔哩大学
专  业 计算机科学与技术

  自我简介:

代码解析:

使用了哈希表 unordered_map 来统计每个字符的出现次数。

首先,定义了一个函数 findFirstUniqueChar,它的输入参数是一个字符串 s,表示要查找的字符串。函数返回第一个仅出现一次的字符。

在函数内部,创建了一个哈希表 count,用于存储每个字符的出现次数。然后,使用一个循环遍历字符串 s 中的每个字符,并在哈希表 count 中增加对应字符的计数。

接下来,再次遍历字符串 s 中的每个字符,对于每个字符,检查其在哈希表 count 中的计数。如果计数为1,则说明该字符是第一个仅出现一次的字符,立即返回该字符。

如果没有找到仅出现一次的字符,那么最后返回一个特定的标记字符 'no',表示没有出现次数只有一次的字符。

在 main 函数中,我们首先读入输入的字符串 s。

然后,我们调用 findFirstUniqueChar 函数来查找第一个仅出现一次的字符,并将结果存储在变量 result 中。

最后,我们输出结果字符 result。



参考代码:

#include <iostream>

#include <string>

#include <unordered_map>

using namespace std;


char findFirstUniqueChar(const string& s) {

    unordered_map<char, int> count;


    // 统计每个字符的出现次数

    for (char ch : s) {

        count[ch]++;

    }


    // 找到第一个仅出现一次的字符

    for (char ch : s) {

        if (count[ch] == 1) {

            return ch;

        }

    }


    return 'no';

}


int main() {

    string s;

    cin >> s;


    char result = findFirstUniqueChar(s);


    cout << result << endl;


    return 0;

}


 

0.0分

15 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

用std::unordered_set也可以实现吧
2024-04-19 23:10:20
return 'no';  应该不对吧
2024-03-05 19:58:16
代码已经改正
2023-07-24 22:45:52
  • «
  • 1
  • »