面试题,大家来练练手
贾利伟 2006-06-23 11:01:38 今天,在论坛上看到了一个面试题的贴子。
给一个字符串,如(“adasdjwoejjfadgh“)找出重复最多的字母和重复的次数。不知道大家能用多长时间作出来,请大家试一下。
我用了1.5 小时,惭愧!!
public struct TestData
{
public string differStr;
public char cha;
public int num;
}
//"adjfqoieuqjfadiwoiurqjfay";
public TestData ResultStr(string str)
{
string resultStr = str.ToCharArray()[0].ToString();
char[] difChar;
char[] cha = str.ToCharArray();
bool bl;
for (int i = 0; i < cha.Length; i++)
{
bl = false;
difChar = resultStr.ToCharArray();
for (int j = 0; j < difChar.Length; j++)
{
if (cha[i] == difChar[j])
{
bl = true;
}
}
if (!bl)
{
resultStr += cha[i].ToString();
}
}
int max =0;
char finChar = new char();
int temp;
difChar = resultStr.ToCharArray();
for(int x =0;x< difChar.Length ;x++)
{
temp =0;
for(int y =0;y< cha.Length;y++)
{
if(difChar[x] == cha[y])
{
temp ++;
}
}
if(temp > max)
{
finChar = difChar[x];
max = temp;
}
}
TestData ts = new TestData();
ts.differStr = resultStr;
ts.cha = finChar;
ts.num = max;
return ts;
}