折半法 可处理每行最多 8189 个字符,效率不错。
- @echo off&setlocal enabledelayedexpansion
- ::@随风 @bbs.bathome.net @2009-04-18
- for /f "delims=" %%a in (a.txt) do (
- set /a sun+=1,n=8189*2,max=1
- set s=%%a&set s=!s: =!&set "var="
- for /l %%a in (1 1 14) do (
- if defined var set /a n=var
- set /a n/=2
- for %%i in (!n!) do (
- if "!s:~%%i,1!"=="" (set /a var=n) else (
- set s=!s:~%%i!&set /a max+=%%i,var-=%%i
- )))
- if !h! lss !max! set /a num=sun,h=max
- )
- echo 字符数最多的行为:!num!
- echo 字符数为:!h!
- pause
复制代码
[ 本帖最后由 随风 于 2009-4-18 17:01 编辑 ] |