在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出‘b‘。这个题加一些要求维度只能为n代码如下:
#include<stdio.h>
#include<assert.h>
charFLetter(chararry[],intlen)
{
intletterNumber[256]={0};
inti=0;
char*ch=arry;
intline=0;
assert(..
分类:
其他好文 时间:
2015-08-08 18:32:40
阅读次数:
207
//题目:在字符串中找出第一个只出现一次的字符。
//如输入“abaccdeff\0”,则输出‘b‘。
#ifndef__SELECT_FIRST__
#define__SELECT_FIRST__
charSelect_first(char*p,intsize);
charSelect_first1(char*p,intsize);
charSelect_first2(char*p,intsize);
#endif//头文件函数声..
分类:
编程语言 时间:
2015-08-02 18:26:26
阅读次数:
331
当从字符流中只读出前两个字符“go”时,第一个只出现一次的字符是‘g’。当从该字符流中读出前六个字符“google”时,第一个只出现 1 次的字符是”l”。首先要记录一个字符出现的次数,为了实现O(1)查找,使用简易hash表存储。用occurences[256] 记录字符出现的次数。设置:
occurences[i] = 0, 该字符未出现;
occurences[i] = 1, 该字符出现一...
分类:
其他好文 时间:
2015-08-01 17:20:02
阅读次数:
100
#include#include#include#define MAXINT 0x7fffffff#define MININT 0X80000000//字符串中第一个只出现一次的字符char firstSingle(char *str){ int a[255]; memset(a, 0, 255 *...
分类:
编程语言 时间:
2015-08-01 09:58:43
阅读次数:
138
#include<stdio.h>#include<string.h>charfound(charstr[]){inti=0; intj=0; intcount; intlen=strlen(str); for(i=0;i<len;i++) { count=0;//每次执行外层循环时count都要置0 for(j=len-1;j>=0;j--) { if(str[i]==str[j]) { count++; } if(co..
分类:
其他好文 时间:
2015-07-30 23:35:38
阅读次数:
121
在一个字符串中找到第一个只出现一次的字符。
如输入”abaccdeff”,输出’b’解析:
使用一个数组,记录每个字符出现的次数,最后遍历计数数组,第一个个数为 1 的即为结果。
由于字符char,只有8 bit, 只有255种可能,因此只需声明一个255大小的数组。遍历一次字符串,遍历2次计数数组:时间复杂度O(n)
空间占用255*int = 512 Byte,是一个固定大小:空间复杂度...
分类:
其他好文 时间:
2015-07-28 23:06:50
阅读次数:
129
char FirstNotRepeatingChar(char* pString)
{
if (pString == NULL)
return '\0';
const int tableSize = 256;
unsigned int hashTable[tableSize];
for (unsigned int i = 0; i
hashTable[i] = 0;
char* ...
分类:
其他好文 时间:
2015-07-10 16:40:59
阅读次数:
106
// 第一个只出现一次的字符题目:在字符串中找出第一个只出现一次的字符。
// 如输入“abaccdeff”,则输出’b’。
#include
#include
char find_one(char *str)
{
int a[256];
int len = strlen(str);
int i = 0;
memset(a, 0, sizeof(a));
for (i...
分类:
编程语言 时间:
2015-07-06 23:32:36
阅读次数:
156
//在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出’b’
#include
#include
char OneTime(char * str)
{
int data[256];
char *p = str;
if (*p == '\0')
return '\0';
memset(data, 0, sizeof(data));
while (*p )
...
分类:
编程语言 时间:
2015-07-06 17:56:37
阅读次数:
128
问题描述在一个字符串中找到第一个只出现一次的字符。如输入字符串"abbc",应该输出字符'a'。程序public class FirstCharacter { // Time/Space: O(n) public char findFirstAppearChar(String s) { if (s....
分类:
其他好文 时间:
2015-07-03 11:51:56
阅读次数:
122