-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path182_consecutive_strings.js
More file actions
61 lines (49 loc) 路 1.41 KB
/
Copy path182_consecutive_strings.js
File metadata and controls
61 lines (49 loc) 路 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/* CodeWars "Consecutive strings"
See links & ressources in the MD file */
/* My solution */
function longestConsec(strArr, k) {
let n = strArr.length;
longest = "";
str = "";
if (n === 0 || k > n || k <= 0) {
return "";
}
for (let i= 0; i < n; i++) {
let currentStr = strArr.slice(i, k+i).join("");
if (currentStr.length > str.length) {
str = currentStr;
}
}
return str;
}
/* Other solutions */
function longestConsec(strarr, k) {
var longest = "";
for(var i=0;k>0 && i<=strarr.length-k;i++){
var tempArray = strarr.slice(i,i+k);
var tempStr = tempArray.join("");
if(tempStr.length > longest.length){
longest = tempStr;
}
}
return longest;
}
function longestConsec(strarr, k) {
if (k <= 0 || k > strarr.length) {
return '';
}
return strarr.reduce((long, item, i) => {
const currString = strarr.slice(i, i + k).join('');
return (currString.length > long.length)
? currString
: long;
}, '');
}
const longestConsec = (a, k) => k > 0 && k <= a.length ? a.reduce((p, c, i) => (c = a.slice(i, i + k).join('')).length > p.length ? c : p, '') : '';
const longestConsec = (strarr, k) => k <= 0 || k > strarr.length ?
''
: strarr.reduce((longest, curr, i) => {
curr += strarr.slice(i + 1, k + i).join('')
return curr.length > longest.length ? curr : longest
}, '')
/* That's all folks! */