แบ่งสตริงเป็น n ส่วนเท่ากัน โดยแต่ละส่วนประกอบจากตัวอักษรสลับกันจากหน้าและหลังของสตริงต้นฉบับ
ตัวอย่าง
str = "how", n = 3 ขั้นตอน: h(หน้า) o(หลัง) w(หน้า) Output: ['h', 'w', 'o']
ตัวอย่างโค้ด
const str = "how";
const num = 3;
const segregate = (str, n) => {
if (str.length % n !== 0) return false;
const len = str.length / n;
const strArray = str.split("");
const arr = [];
let i = 0, char;
while (strArray.length) {
if (i % 2 === 0) char = strArray.shift(); // หน้า
else char = strArray.pop(); // หลัง
if (i % len === 0) arr[i / len] = char;
else arr[Math.floor(i / len)] += char;
i++;
}
return arr;
};
console.log(segregate(str, num));
ผลลัพธ์
[ 'h', 'w', 'o' ]
โครงสร้าง: อัลกอริทึมนี้สร้าง substring โดยสลับหยิบจากหน้าและหลัง แล้วกระจายเข้า subarrays