寻找字符串中出现一次的字符

编程入门 行业动态 更新时间:2024-10-12 12:32:43

寻找<a href=https://www.elefans.com/category/jswz/34/1771434.html style=字符串中出现一次的字符"/>

寻找字符串中出现一次的字符

输入:  

wouehfpwinrgierngvipjpoposjef80293u-92u480]=0i\=r2\tif]-jp]k

输出:

w: 2
o: 3
u: 3
e: 3
h: 1
f: 3
p: 5
i: 5
n: 2
r: 3
g: 2
v: 1
j: 3
s: 1
8: 2
0: 3
2: 3
9: 2
3: 1
-: 2
4: 1
]: 3
=: 2
\: 2
t: 1
k: 1
hvs34tk
/*
* 查找最长不重复字串
* GC
* 2019-8-25
*/
#include<iostream>
using namespace std;
#define DEBUG 1
void findTheOnlyOne(char* p, char*& only_str){static int MAX_LEN=1000;int i, j;char* c = new char[MAX_LEN];c[0] = '\0';int* count = new int[MAX_LEN];for (i = 0; p[i] != '\0'; i++){for (j = 0; c[j] != '\0'; j++){if (c[j] == p[i]){count[j] += 1;break;}}if (c[j] == '\0'){//说明是没有在c中找到相同的字符if (j + 1>=MAX_LEN){cout << "out of array" << endl;}c[j] = p[i];count[j] = 1;c[j + 1] = '\0';}}//find the char which has appeared only onceif (DEBUG){for (i = 0; c[i] != '\0'; i++){cout << c[i] << ": " << count[i] << endl;}}only_str = new char[j];j = 0;for (i = 0; c[i] != '\0'; i++){if (count[i] == 1){only_str[j++] = c[i];}}only_str[j] = '\0';
}
int main(){char p[100];cin.getline(p,100);int len = 0;char* s = NULL;findTheOnlyOne(p, s);cout << s;return 0;
}

 

更多推荐

寻找字符串中出现一次的字符

本文发布于:2024-03-09 20:23:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1726031.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   字符

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!