মান লিজিয়ে আমাদের কাছে একটি পূর্ণসংখ্যার অ্যারে আছে ক্রমবর্ধমান ক্রমে সর্টেডভাবে এইভাবে −
const arr = [ 1, 2, 3, 5, 6, 7, 10, 12, 17, 18];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একমাত্র এই ধরনের একটি অ্যারে নেয়। ফাংশনটি অ্যারেটি এভাবে গ্রুপ করবে যেন −
একই গ্রুপের উপাদানগুলোর পার্থক্য ১ বা তার কম
প্রতিটি গ্রুপের উপাদান একটির বেশি হতে হবে ভ্যালিড হওয়ার জন্য
উপরের শর্ত অনুযায়ী, প্রত্যাশিত আউটপুট হবে −
const output = [ [1, 2, 3], [5, 6, 7], [17, 18] ];
উদাহরণ
এটির জন্য কোড হবে −
const arr = [ 1, 2, 3, 5, 6, 7, 10, 12, 17, 18]; const groupNear = (arr = []) => { const res = []; for (let ind = 0; ind < arr.length; ind++) { let value = arr[ind]; if (arr[ind − 1] + 1 === value) { res[res.length − 1].push(value); } else if (value + 1 === arr[ind + 1]) { res.push([value]); }; }; return res; }; console.log(groupNear(arr));আউটপুট
কনসোলে আউটপুট হবে −
[ [ 1, 2, 3 ], [ 5, 6, 7 ], [ 17, 18 ] ]