查看单个帖子
  #6 (permalink)  
旧 2008-03-24
Elminster 的头像
Elminster Elminster 当前离线
超级版主
 
注册日期: 2002-09-09
帖子: 1,764
Elminster 正向着好的方向发展
默认 回复: 能更高效吗?

引用:
作者: tianxiawuzui 查看帖子
sorry啊,我能想到的方法就是遍历每一个字符,但是又好像和要求不符:在字符串中检查的字符尽可能少;
没什么更高效的算法,所以SOS各位大大。树MS可以尽可能少的检查字符,虽然复杂了一点。

大大们,还有更好的办法吗?
想想看,假设字符串里面还有 m 个字符你从来没有检查过,那么在什么情况下你可以不用检查这 m 个字符,就能确定整个字符串中最长的空白串在哪里呢?很显然,只有一种可能:你已经找到了一个空白串,长度大于 m 。嗯嗯,下面就看你怎么最大限度地利用这种可能,尽量减少检查字符的需要了。

唔,不过有一点必须指出:从算法分析的角度,不存在一个算法能够完全避免检查每一个字符。最简单的例子,给你一个不存在空格的字符串,你只有在检查每一个字符之后,才能确定这一点。
回复时引用此帖