题目:给定一个字符串,然后判断字符串中第一只出现一次的字符位置,然后返回它的位置

一个字符总共有8位,那么就会有256种可能。

int first_aperance(string &str){if (str.length() == 0)return -1;int hash[256];for (int i = 0; i < str.length(); i++){hash[str[i]]++;}//统计顺序,按照读取的顺序进行统计for (int i = 0; i < str.length(); i++){//这里是很关键的,我们在查找的时候是按照字符在//字符串中的出现顺序读取的,因此总的时间复杂度还是O(n)if (hash[str[i]] == 1){return i;}}return -1;
}

总结:使用map key-value有点大财小用
如果我们构造一个数组,数组大小为256,包含了ASCII码的范围
然后遍历的时候是按照字符在字符串中出现的顺序进行统计的

字符串中第一个只出现一次的字符相关推荐

  1. 《剑指offer》第五十题(字符串中第一个只出现一次的字符)

    // 面试题50(一):字符串中第一个只出现一次的字符 // 题目:在字符串中找出第一个只出现一次的字符.如输入"abaccdeff",则输出 // 'b'. #include & ...

  2. 刷题笔记之十 (小易的升级之路+找出字符串中第一个只出现一次的字符+洗牌+MP3光标位置)

    目录 1.存取任意指定序号的元素和在最后进行插入和删除运算,利用顺序表存储最节省时间 2. 数据结构中具有记忆功能的是栈 3. 递归程序的优化一般为 尾递归优化 4.二叉树遍历,前中后序遍历用到的是栈 ...

  3. 笔试强训第三周编程题part01(年终奖,迷宫问题;微信红包,计算字符串的距离;小易的升级之路,找出字符串中第一个只出现一次的字符,洗牌)

    年终奖 OJ链接 此题是一道动态规划的问题 读题可知:只能从上往下和从左往右移动 由此需要前[i-1] [ j ]和[i][j-1]来比较大小来确实最优解. 其中有两种特殊情况,第一行和第一列 代码如 ...

  4. 找字符串中第一个只出现一次的字符

    题目:在一个字符串中找到第一个只出现一次的字符. 举例:输入abaccdeff,则输出b. 答:假设字符占一个字节,则共有256不同的字符,开辟256空间,用查找表. #include "s ...

  5. 算法--06谷歌面试:字符串中第一个只出现一次的字符(Java实现)

    Q题目 这道题是2006 年 google 的一道笔试题,如下: 在一个字符串中找到第一个只出现一次的字符.如输入 abaccdeff,则输出 b. A解法 这道题,说难也不难,关键是思路. 有些人思 ...

  6. 查找字符串中第一个只出现一次的字符

    Java Map接口提供了将Key映射到值的对象,HashMap  TreeMap 方法 功能 put(K key ,V value) 向集合中添加指定key ,value的映射关系 contains ...

  7. 【Java】 剑指offer(50-2) 字符流中第一个只出现一次的字符

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字 ...

  8. 找出google字符流中第一个只出现一次的字符(map/queue)

    目录 解法一.hashmap 1.map的定义及插入,> 2.map的value获取及遍历 3.查找find(key) 4.计数count(key) 解法二.队列 1.队列 2.char以及op ...

  9. 寻找字符串中第一个仅仅出现一次打字符

    寻找字符串中第一个仅仅出现一次打字符 代码例如以下: #include <iostream> #include <string>using namespace std;char ...

  10. 找第一个只出现一次的字符_剑指offer 字符流中第一个只出现一次的字符

    题目描述: 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是'g'.当从该字符流中读出前六个字" ...

最新文章

  1. 用python操作MySQL
  2. arduino编译失败_Arduino编译时失败
  3. 测量人看过来:多种语言编写的测量坐标反算神器附源码(C#/VB)
  4. 全量增长模型-指标体系的构建及应用实战案例解析
  5. PHP XML操作类 xml2array -- 含节点属性
  6. 如何突破Windows环境限制打开“命令提示符”
  7. 充电速度公式_手机充电效率计算
  8. P2P共享经济都可接受 O2O×××有何不可?
  9. oracle练习(mldn视频)二
  10. activiti画图工具下载
  11. Unmapped Spring configuration files found. Please configure Spring facet or use ‘Create Default Con
  12. 预计招收300人,北京大学信息工程学院2022年夏令营开启报名
  13. 手把手带你撸一个校园APP(四):APP功能设计及主页面框架
  14. matlab 直流无刷电机,无刷直流电机的matlab仿真.pdf
  15. 微信小程序普通二维码解析
  16. 中规中矩的输入两个正整数m和n,求其最大公约数和最小公倍数。
  17. 插件式换肤框架搭建 - 资源加载源码分析
  18. 适配器模式 : 农村小伙娶乌克兰美女语言不通 翻译软件立功
  19. IOS版aplayer使用教程_Y Y的使用教程视频版/图片版(手机版。电脑版。楚恒上课必用软件)...
  20. 去哪儿网抢票成功率怎么样?

热门文章

  1. Android RatingBar 实现评星功能
  2. Android开发BroadcastReceiver广播的使用
  3. php 非常简单的导入sql文件
  4. Backbox Linux简介与配置内网IP
  5. 美国西海岸php,美国西海岸大学top 14
  6. KVM详解(八)——KVM虚拟机自启动
  7. Linux命令使用练习一
  8. Java从键盘获取两个输入值并计算和
  9. 验证码识别——基于CNN+BLSTM+CTC秒杀不定长复杂验证码
  10. 前端全栈必会node框架koa。。。