Учитывая список слов различной длины, каков наилучший способ найти максимальную длину слов?
Например, следующее должно возвращать 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>
1011 *
*
Или немного короче ...
<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-метод? Преобразование в массив и сортировка по длине элемента? Считаете самый большой разрыв между запятыми?
В практическом плане любой из двух приведенных выше примеров будет работать нормально для моей текущей потребности, и это не для чего-то, что критично для производительности, поэтому мне не нужен ответ на это но я подумал, что все равно будет интересно посмотреть, что люди могут придумать ...