给定一个不同长度的单词列表,找到任何单词的最大长度的最佳方法是什么?
例如,以下应返回 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方法?转换为数组并按项目长度排序?计算逗号之间的最大间隔?
实际上,以上两个示例中的任何一个都可以很好地满足我当前的需求,并且这不适用于对性能至关重要的东西,因此我不需要对此的答案,但是我认为仍然会很有趣看看人们会想出什么...