第一个只出现一次的字符(OJ题)

简介: 第一个只出现一次的字符(OJ题)

本题主要思想:

创建一个新的tmp数组,用tmp数组来存储每个字符出现过的次数;
通过累加count来判断是否第一次出现;
最后通过遍历数组tmp判断字符是否第一次出现;

int FirstNotRepeatingChar(char* str ) {
    int len = strlen(str);//计算字符数组长度
    int i,j,count=0;
    int tmp[10000]={0};//创建一个新数组,用来存存储每个字符出现过的次数;
    for (i=0;i<len;i++)
    {
        count=0;
        for (j=0;j<len;j++)
        {
            if (str[i]==str[j])//如果碰到相同的字符,count就++
            {
                count++;
            }
        }
        tmp[i]=count;//把一趟遍历后这个字符的出现次数存储到tmp数组中       
    }
    for (i=0;i<len;i++)
    {
        if (tmp[i]==1)//通过遍历数组tmp判断字符是否第一次出现;
        return i;//返回第一次出现的下标
    }
    return -1;
}
目录
打赏
0
0
0
0
0
分享
相关文章
Linux系统调优详解(一)——系统调优概述与Top命令详解
Linux系统调优详解(一)——系统调优概述与Top命令详解
160 4
安卓投屏神器 Scrcpy 安装与使用(支持 Mac、Windows、Linux)
安卓投屏神器 Scrcpy 安装与使用(支持 Mac、Windows、Linux)
20630 0
深度剖析 Linux cp 命令的秘密
用 cp 拷贝了一个 100 GiB 的文件,竟然一秒不到就拷贝完成了。一个 SATA 机械盘的写能力能到 150 MiB/s (大部分的机械盘都是到不了这个值的)就算非常不错了,所以,正常情况下,copy 一个 100G 的文件至少要 682 秒 ( 100 GiB/ 150 MiB/s ),也就是 11 分钟。
1247 0
【每日一题Day117】LC1234替换子串得到平衡字符串 | 双指针
【每日一题Day117】LC1234替换子串得到平衡字符串 | 双指针
102 0
【从零开始学习深度学习】47. Pytorch图片样式迁移实战:将一张图片样式迁移至另一张图片,创作自己喜欢风格的图片【含完整源码】
【从零开始学习深度学习】47. Pytorch图片样式迁移实战:将一张图片样式迁移至另一张图片,创作自己喜欢风格的图片【含完整源码】
如何在复杂的项目管理中找到简单的解决方案?
本文介绍了五款流行的项目管理工具:板栗看板、Trello、Asana、Monday.com和Basecamp,分别强调了它们的特点和优势。板栗看板以灵活高效著称,Trello简洁直观,Asana功能全面,Monday.com注重工作流优化,Basecamp则提供了一体化的管理平台。选择合适的工具需考虑团队规模、项目类型及具体需求。
探索Scikit-learn:机器学习库的入门与进阶
本文介绍了Scikit-learn,一个基于Python的开源机器学习库,它依赖于NumPy、SciPy和Matplotlib。Scikit-learn提供分类、回归、聚类和降维等算法,具有简单易用的API。文章涵盖了Scikit-learn的安装、基础使用,例如线性回归示例,并讨论了其主要功能,如数据预处理、模型评估、分类和回归算法、聚类和降维。此外,还涉及进阶应用,如集成学习(随机森林、AdaBoost等)和模型选择工具(交叉验证、网格搜索),帮助用户优化模型性能。总之,Scikit-learn是数据科学家在处理复杂问题时的强大工具。【6月更文挑战第7天】
204 7
Android系统 文件访问权限笔记
Android系统 文件访问权限笔记
1141 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问