第一个只出现一次的字符
来源:互联网 发布:阿里云客服报名关闭 编辑:程序博客网 时间:2024/05/16 11:06
- 题目描述:
在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符。
- 输入:
输入有多组数据
每一组输入一个字符串。
- 输出:
输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1。
- 样例输入:
ABACCDEFFAA
- 样例输出:
1-1
AC代码:
#include<stdio.h>#include<string.h> int main() { int i; char s[10001]; while(scanf("%s", s) != EOF) { int len = strlen(s); int map[26] = {0}; //用哈希映射 for(i = 0; i < len; i++) { map[s[i]-'A']++;//通过对字符减'A'把下标转换成int型 //printf("i:%d, map[%d]:%d\n", i, s[i]-'A',map[s[i]-'A']); } //从头再扫描一遍字符串,就能保证找到第一个只出现一次的字符(如果有的话) for(i = 0; i < len; i++) { if(map[s[i]-'A'] == 1) { break; } } if(i != len) { printf("%d\n", i); } else { printf("%d\n", -1); } } return 0;} /************************************************************** Problem: 1283 User: wusuopuBUPT Language: C Result: Accepted Time:20 ms Memory:912 kb****************************************************************/
0 0
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 自己写的个C#(ASP.NET)连接SQL数据库执行查询和修改操作的类
- fatal error LNK1103: 调试信息损坏;请重新编译模块
- 数据库管理工具
- 《疯狂的程序员》摘抄
- UVA 11549 - Calculator Conundrum Floyd判圈法
- 第一个只出现一次的字符
- Android中LocalSocket(套接字)使用
- 数组指针和指针数组的区别
- hdu 4577 X-Boxes(大数)
- 实现Linux与Windows双系统共存下修复磁盘分区表
- 程序员面试题精选100题(26)-和为n连续正数序列[算法]
- 关于ffmpeg kxmovie
- windows服务调用WebService
- 难怪苹果系统的界面这么好看 - 原生支持 OpenGL 的原因