剑指offer 34 第一个只出现一次的字符位置
来源:互联网 发布:java发布webservice 编辑:程序博客网 时间:2024/05/20 08:41
题目描述
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符的位置。若为空串,返回-1。位置索引从0开始
思路
先排序,然后方便用一个map来记录那些出现的次数大于1次的字符,然后再从原始的串遍历,如果这个字符第一次出现且在后面不会再次出现即总共只出现了一次,那么就输出。如果不存在,就输出-1。
class Solution {public: int FirstNotRepeatingChar(string str) { if(str.size()==0)return -1; map<char,int>mm; string temp=str; mm.clear(); sort(str.begin(),str.end()); int len=str.size(); for(int ii=0;ii<len;ii++){ if(str[ii]==str[ii+1]){ mm[str[ii]]=1; } } for(int ii=0;ii<len;ii++){ if(!mm[temp[ii]]){ return ii; } } return -1; }};
0 0
- 《剑指offer》第一个只出现一次的字符位置
- 剑指offer:第一个只出现一次的字符位置
- 剑指Offer--第一个只出现一次的字符位置
- 【剑指Offer】第一个只出现一次的字符位置
- 剑指offer:第一个只出现一次的字符位置
- [剑指offer]第一个只出现一次的字符位置
- 《剑指offer》-第一个只出现一次的字符位置
- 剑指offer|第一个只出现一次的字符位置
- 【剑指Offer】第一个只出现一次的字符位置
- 剑指offer:第一个只出现一次的字符位置
- 剑指offer 34 第一个只出现一次的字符位置
- 剑指Offer——(34)第一个只出现一次的字符位置
- 剑指Offer—34—第一个只出现一次的字符位置
- 第一个 只出现一次的字符 位置(剑指offer)+哈希
- 剑指offer—第一个只出现一次的字符位置
- 《剑指offer》——第一个只出现一次的字符位置
- 码农小汪-剑指Offer之32 -第一个只出现一次的字符位置
- 剑指Offer--035-第一个只出现一次的字符位置
- [Android Studio] Android Studio常用快捷键
- 既要ClickOne,又要Administrator权限
- 集合(Java核心技术卷Ⅰ)
- 机器学习基础(五十)—— Gini Impurity(基尼不纯度)与香浓熵(Shannon Entropy))
- SQLServer2008 无法连接到localhost
- 剑指offer 34 第一个只出现一次的字符位置
- 《java第一季之入门篇》的想法
- iOS学习笔记22-推送通知
- Unity 脚本生命周期流程图
- redis 简介
- 【UOJ 35】 后缀排序|后缀数组 *2
- 安桌开源项目
- Git命令笔记
- 什么是尽职调查