在CSDN上看到的帖子两道算法题。

Posted on 2007-01-19 17:36  sundelion  阅读(151)  评论(0)    收藏  举报

1.如何判断一个数字不是3的幂?要求方法比较简洁!
2.有一串数字,比如说:1,7,-5,9,13,-1,8,...,77    问,怎么设计一个比较好的算法,可以快速得到这串数字中最大的数字串,要求数字串必须是连续的!
答案:
1.
i=n;//n为值
j=3;
while(i==1)
{
if(i%j==0)
{i=i/j;
j=j*3;}
else
{i=3i/j;
j=j/3;}
}

2.
max=0;
tempmax=0;
for(i=0;i<n;i++)
{
tempmax=MaxFun(tempmax+Array[i],0);
max=MaxFun(max,tempmax);
}
这个算法的工作量是n.应该是最好的。
楼主给分啦

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3