【九度】题目1283:第一个只出现一次的字符
来源:互联网 发布:被芯哪个牌子好 知乎 编辑:程序博客网 时间:2024/05/16 07:34
- 题目地址:http://ac.jobdu.com/problem.php?pid=1283
题目描述: 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符。
- 输入:
输入有多组数据
每一组输入一个字符串。
- 输出:
输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1。
- 样例输入:
ABACCDEFFAA
- 样例输出:
1-1
- 答疑:
- 解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-8006-1-1.html
- 再次看这个题目的时候,想到了数组处理。
数组的巧妙运用。
声明一个大小为26的数组array,初始值都赋值为0;
循环读取到的字符串,将字符-'A'作为array的下标。
循环字符串的长度,发现array[input[i]-'A'] == 1break就是结果。
C++ AC #include <stdio.h>#include <string.h>const int maxn = 10002;char input[maxn];int array[26];int i;int main(){ while(scanf("%s",input) != EOF){ memset(array,0,sizeof(array)); int len = strlen(input); for(i = 0; i < len ; i ++){ array[input[i]-'A']++; } int first = -1; for(i = 0; i < len ; i ++){ if(array[input[i]-'A'] == 1){ first = i; break; } } printf("%d\n",first); } return 0;}/************************************************************** Problem: 1283 User: wangzhenqing Language: C++ Result: Accepted Time:20 ms Memory:1032 kb****************************************************************/
Java AC
import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.StreamTokenizer; public class Main { /* * 1283 */ public static void main(String[] args) throws Exception { StreamTokenizer st = new StreamTokenizer(new BufferedReader( new InputStreamReader(System.in))); while (st.nextToken() != StreamTokenizer.TT_EOF) { String input = st.sval; int len = input.length(); int array[] = new int[26]; for (int i = 0; i < len; i++) { array[input.charAt(i)-'A']++; } int first = -1; for (int i = 0; i < len; i++) { if (array[input.charAt(i)-'A'] == 1) { first = i; break; } } System.out.println(first); } }}/************************************************************** Problem: 1283 User: wangzhenqing Language: Java Result: Accepted Time:260 ms Memory:24624 kb****************************************************************/
0 0
- 【九度】题目1283:第一个只出现一次的字符
- 九度 题目1283:第一个只出现一次的字符
- 九度_题目1283:第一个只出现一次的字符
- [九度oj]题目1283:第一个只出现一次的字符
- 九度OJ-题目1283:第一个只出现一次的字符
- [九度OnlineJudge][剑指Offer]题目1283:第一个只出现一次的字符
- 九度题目1283:第一个只出现一次的字符
- 九度 题目1283:第一个只出现一次的字符
- 题目1283:第一个只出现一次的字符
- 【剑指Offer面试编程题】题目1283:第一个只出现一次的字符--九度OJ
- 九度OJ 1283 第一个只出现一次的字符
- 九度OJ 1283:第一个只出现一次的字符 (计数)
- 算法题目-第一个只出现一次的字符
- 算法题目---第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- pinterest反编译(正在进行时)
- vtk 笔记 --- 图片的X与Y轴变换,旋转
- linux fd 系列
- 第一天
- 2013中国软件技术大会 参会笔录及感想
- 【九度】题目1283:第一个只出现一次的字符
- windows环境下的Python HTTP请求模块
- 英语伤痛十五年
- Android 随笔(二) 真机调试
- 新手开淘宝网店怎样一个月安全达到一钻
- 《无人区》—电影随评
- RHEL 6.4(i386)编译安装GoldenDict
- 黑马程序员--枚举 结构(08)
- 一次痛苦的EasyUI使用和优化历程