找出最長單詞

2021-08-04 06:06:44 字數 1172 閱讀 1352

fcc裡的一道小演算法題

在句子中找出最長的單詞,並返回它的長度。函式的返回值應該是乙個數字。

split()分解句子單詞,然後計算長度再比較就可以了。

最開始是這樣寫的:

function

findlongestword

(str)

strarr.sort(sortnum);

return strarr[strarr.length - 1];

}function

sortnum

(a, b)

//測試

findlongestword("what if we try a super-long word such as otorhinolaryngology");

後來看到了別人的math.max( )方法發現可以優化:

方法**

function

findlongestword

(str)

//strarr的值作為引數

return

}//測試

findlongestword("what if we try a super-long word such as otorhinolaryngology");

另附:陣列的push方法優化

var arr1=[1,3,4];

var arr2=[3,4,5];

如果我們要把 arr2展開,然後乙個乙個追加到arr1中去,最後讓arr1=[1,3,4,3,4,5]

arr1.push(arr2)顯然是不行的。 因為這樣做會得到[1,3,4,[3,4,5]]

我們只能用乙個迴圈去乙個乙個的push(當然也可以用arr1.concat(arr2),但是concat方法並不改變arr1本身)

**如下:

var arrlen = arr2.

length;

for (var i = 0; i

< arrlen; i++)

array.prototype

.push

注意:返回值是陣列長度

最長組合單詞

問題是這樣的 有乙個文字檔案,裡面存放的都是以逗號分隔的單詞,比如 test,tester,testing,works,testworks。給出這個文字裡乙個最長的復合單詞,這個復合單詞由文字裡其他單詞組合而成的,如 testworks由test和works組合而成。這個問題我想了一天,除了當天面試...

最長單詞2

描述 乙個以 結尾的簡單英文句子,單詞之間用空格分隔,沒有縮寫形式和其它特殊形式。輸入 乙個以 結尾的簡單英文句子 長度不超過 500 單詞之間用空格分隔,沒有縮寫形式和其它特殊形式。輸出 該句子中最長的單詞。如果多於乙個,則輸出第乙個。輸入示例 i am astudent of peking un...

最長的單詞

description 求一行句子中最長的單詞,如果出現並列情況,輸出字典序最小的單詞,例如如果above和alive同時為最長單詞,則輸出above input 行1 一行空格分隔的字母,此行最少1個字元 且非空格 最多1000個字元,單詞最長16個字元 output 行1 最長的單詞 思路 讀入...