字符串中第一次出现的字符
来源:互联网 发布:java list排序 编辑:程序博客网 时间:2024/06/07 01:05
题目:在字符串中查找出第一个只出现一次的字符。如输入"abaccdeff",则输出b所在的下标。方法一:时间复杂度为o(n*n)。遍历字符串中的每个字符,然后用该字符在字符串中进行查找,如果没有找到和当前字符相同的字符。则当前字符为第一个 只出现一次的字符。int firstNotRepeatingChar(string str){if (str.empty())return -1;int pos = -1;for (int i = 0; i < str.size(); ++i){bool flag = true;for (int j = 0; j < str.size(); ++j){if (str[i] == str[j] && i != j){flag = false;break;}}if (flag){pos = i;break;}}return pos;}方法二:时间复杂度为o(n)。用一个辅助数组来做hash映射。第一次扫描时,更新在辅助数组中当前字符出现的次数。hash查找的时间复杂度为o(1)。第二次扫描时,在辅助数组中找出当前字符出现一次的位置。int findPosString(string str){//辅助数组,用作hash映射vector<int> index(256);//第一次遍历for (int i = 0; i < str.size(); ++i){index[str[i]]++;}int pos = -1;//第二次遍历for (int i = 0; i < str.size(); ++i){if (index[str[i]] == 1){pos = i;break;}}return pos;}
0 0
- 字符串中第一次出现的字符
- 字符串中第一次出现的只出现一次的字符
- 查找字符串中出现一次且第一次出现的字符
- java 求解字符串中第一次出现的字符的位置
- 找出字符串中第一次出现一次的字符
- 求在一个字符串中第一次出现一次的字符
- 统计一个字符串中第一次只出现一次的字符
- 在一个字符串中找出第一次重复出现的字符
- 寻找字符串中第一次单独出现的字符
- PHP:只替换字符串中第一次出现的字符
- 从字符串中查找第一次出现一次的字符
- 字符流中第一次出现的字符
- 统计一个字符串中某个字符第一次出现的位置和最后一次出现的位置
- 字符串中替换第一次出现的字符串
- s.indexOf(c)的用法,在字符串“s”中第一次出现字符“c”的位置。
- c语言,strchr(),查找字符串中第一次字符出现的位置
- O(n)时间效率寻找字符串中第一次出现一次的字符
- 字符串中第一次只出现一次的字符(×60内推笔试)
- Spark集群的安装与使用
- git命令行
- 串的三种实现方式
- 动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)
- hadoop集群安装以及Hive、sqoop的使用
- 字符串中第一次出现的字符
- hadoop2.6.3配置
- 台大机器学习笔记(7)——The VC Dimension
- Sublime Text 2编辑markdown文件
- This Handler class should be static or leaks might occur 解决办法
- 删除多余空格
- nyoj 1238最小换乘
- Android studio1.5.1 NDK配置开发
- LightOJ 1422 Halloween Costumes (区间DP)