给定一个长度不同的单词列表,如何找到其中最长单词的长度?
例如,下面的列表应该返回6:
findMaxLen("a,set,of,random,words")
当然,这很简单...
<cffunction name="findMaxLen" returntype="Numeric">
<cfset var CurMax = 0 />
<cfset var CurItem = 0 />
<cfloop index="CurItem" list="#Arguments[1]#">
<cfif Len(CurItem) GT CurMax >
<cfset CurMax = Len(CurItem)/>
</cfif>
</cfloop>
<cfreturn CurMax />
</cffunction>
或者,稍微简短一些...
<cffunction name="findMaxLen" returntype="Numeric">
<cfset var CurMax = 0 />
<cfset var CurItem = 0 />
<cfloop index="CurItem" list="#Arguments[1]#">
<cfset CurMax = Max( CurMax , Len(CurItem) ) />
</cfloop>
<cfreturn CurMax />
</cffunction>
但是有没有更好的方法——更高效的方法呢?
也许有一些Java方法?将其转换为数组并按项长度排序?计算逗号之间的最大差距?
实际上,以上两个示例都可以很好地满足我的当前需求,这不是用于性能关键的东西,因此我不需要一个答案,但我认为看看人们可能会想出什么还是很有趣的...