您现在的位置是:主页 > news > 东营市新闻最新消息/seo是什么姓
东营市新闻最新消息/seo是什么姓
admin2025/5/30 21:26:24【news】
简介东营市新闻最新消息,seo是什么姓,外国做网站的平台,wordpress 链接数据库题目:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff ,则输出 b 。分析:这道题原本是2006年google的一道笔试题。这里UC加上了一个限制,就是不可以用for和while,本来这简直是一道送分题,当时教室热爆了&…
东营市新闻最新消息,seo是什么姓,外国做网站的平台,wordpress 链接数据库题目:在一个字符串中找到第一个只出现一次的字符。如输入
abaccdeff
,则输出
b
。分析:这道题原本是2006年google的一道笔试题。这里UC加上了一个限制,就是不可以用for和while,本来这简直是一道送分题,当时教室热爆了&…
题目:在一个字符串中找到第一个只出现一次的字符。如输入
abaccdeff
,则输出
b
。
分析:这道题原本是2006年google的一道笔试题。这里UC加上了一个限制,就是不可以用for和while,本来这简直是一道送分题,当时教室热爆了,头脑也跟着发热,居然错掉了,实在是可惜,如果这里可以用for和while,那只需要用一个256大小的数组()就可以记录哪些元素不是第一次被访问的,问题就十分简单了,但是,这里不能用for,其实也很简单,可以用递归,类的构造函数,还有函数指针来模拟for循环就可以了.
这里先给出递归的办法:
#include<iostream>
using namespace std;
int lower[26]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int upper[26]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
void SetLU(char* str)
{if( *str =='\0' ) return ;if( 'a'<=*str && *str<='z')++lower[(*str-'a')];if( 'A'<=*str && *str<='Z')++upper[(*str-'A')];return SetLU(str+1);
}
char GetLU(char* str)
{if( 'a'<=*str && *str<='z' && lower[*str-'a']==1)return *str;if('A'<=*str && *str<='Z' && upper[*str-'A']==1)return *str;return GetLU(str+1);
}
int main()
{char str[]="abaccdeff";SetLU(str);char c=GetLU(str);cout<<c<<endl;return 0;
}
上面的程序十分的简单,做的事情只是用递归模拟一个循环,这次笔试需要总结的问题十分之多,首先操作系统的内容十分不扎实,其次没有试过在纸上写代码,速度和准确率都十分糟糕.还需要继续修练.