华为oj_找出字符串中第一个只出现一次的字符
来源:互联网 发布:长春典恒网络百度贴吧 编辑:程序博客网 时间:2024/06/03 09:34
#include <stdio.h>#include <string.h>#include <stdlib.h>int FindChar(char* pInputString, char* pChar);int main(){ char str[1025]; char c; int r; while(gets(str)) { r=FindChar(str,&c); if(r==-1) { printf(".\n"); continue; } printf("%c\n",c); } return 0;}int FindChar(char* pInputString, char* pChar){ int a[1025]={0}; int flag=-1; int len=strlen(pInputString); int i,j; for(i=0;i<len-1;i++) { if(a[i]==1) continue; for(j=i+1;j<len;j++) { if(pInputString[i]==pInputString[j]) a[i]=a[j]=1; } if(a[i]==0) { *pChar=pInputString[i]; flag=1; break; } } if(flag==-1&&a[len-1]==0) { *pChar=pInputString[len-1]; flag=1; } return flag;}/*不知道错哪里了!!!提交不了int FindChar(char* pInputString, char* pChar){ int a[1025]={0}; int len,l; int t=-1; pChar=pInputString; char *p; while(*pChar!='\0') //while(pChar)这样写是错误的,,为什么? { p=pChar+1; len=pChar-pInputString; if(a[len]==1) { pChar++; continue; } while(*p!='\0') //while(p)这样写是错误的,,为什么? { if(*p==*pChar) { l=p-pInputString; a[l]=1; a[len]=1; } p++; } if(a[len]==0) { t=len; break; } pChar++; } return t;}*//*//算法思想错误,惭愧啊!虽然追求新颖的算法,但是,,实力不行出错是灾难性的!!!int FindChar(char* pInputString, char* pChar){ int i,a[256],flag[256],len; for(i=0;i<256;++i) flag[i]=a[i]=0; len=strlen(pInputString); for(i=0;i<len;i++) { ++a[(int)pInputString[i]]; flag[(int)pInputString[i]]=i; } for(i=0;i<256;++i) { if(a[i]==1) { *pChar=*(pInputString+flag[i]); return 1; } } return 0;}*/
这道题目花费了好长时间,,真是……
之前用C++,,还是发现自己字符和字符串在C++中还是没有搞清楚,后来换纯C字符串来做,,调式没有问题,但是提交不了。。最后只有用最简单的方法来解决。数组……
0 0
- 华为oj_找出字符串中第一个只出现一次的字符
- 【华为oj】找出字符串中第一个只出现一次的字符
- 华为OJ:找出字符串中第一个只出现一次的字符
- 华为在线测试题[基础篇]--找出字符串中第一个只出现一次的字符
- 【华为OJ】找出字符串中第一个只出现一次的字符
- 华为OJ(找出字符串中第一个只出现一次的字符)
- 找出字符串中第一个只出现一次的字符 华为OJ
- 华为OJ ---找出字符串中第一个只出现一次的字符(java实现)
- 华为OJ题库-找出字符串中第一个只出现一次的字符
- 华为OJ基础篇-找出字符串中第一个只出现一次的字符
- 华为oj 找出字符串中第一个只出现一次的字符
- 华为机试——找出字符串中第一个只出现一次的字符
- 华为oj 找出字符串中第一个只出现一次的字符
- 【华为OJ】【034-找出字符串中第一个只出现一次的字符】
- 华为OJ——找出字符串中第一个只出现一次的字符
- 华为OJ 初级:找出字符串中第一个只出现一次的字符
- 【华为 OJ】找出字符串中第一个只出现一次的字符
- 华为OJ——找出字符串中第一个只出现一次的字符
- 文件上传类
- HDU 5317(打表)
- raspberry pi 2安装n2n,穿透长城宽带的内网映射限制
- (日志,《算法导论》.6.2)堆排序,代码
- iOS XIB以及Storyboard的部分使用方法
- 华为oj_找出字符串中第一个只出现一次的字符
- git error: unable to unlink old (Permission denied)
- 国外程序员推荐:每个程序员都应读的书
- C代码实现数组
- LeanCloud获取最近会话列表和获取最后一条聊天记录
- Incompatible pointer types returning 'NSArray *' from a function with result type 'xxx *'
- 编程书籍推荐_3
- 黑马程序员——String类及相关类
- WPF中使用ReportViewer报表