写一个函数,返回一个整数的最后一个最大数字的位置(比如:输入28785,返回3)
写一个函数,返回一个整数的最后一个最大数字的位置(比如:输入28785,返回3)。int findMax (int a) {
}
[ 本帖最后由 programer010 于 2008-12-29 22:07 编辑 ] java or c or other ?
c
C or java is available 难道这里没人会?不能吧 写一个函数,返回一个整数的最后一个最大数字的位置(比如:输入28785,返回3)。最大数字是8,倒数第二个就是第三个位置?
你算一下整数的长度,然后分成一个数组,然后做个大小比较就行了啊。。 一个C#的实现,思想跟LS一样。输入1208,返回1;输入9857,返回4。
public static int GetMaxDigit(int input)
{
string temp = input.ToString();
char flag = '0';
int digit = 0;
for (int i = 0; i < temp.Length; i++)
{
if (flag < temp)
{
flag = temp;
digit = i;
}
}
return temp.Length - digit;
}
不知道LZ有没有考虑过以下问题:如果输入全部是9999,你希望返回什么?如果输入是9191,你希望从左到右,还是从右到左? LS考虑的很周到,这个在测试的时候就可以发现出问题了
页:
[1]