ধরুন, আমাদের কাছে এইরকম সংখ্যার একটি সাজানো (ক্রমবর্ধমান ক্রম) বিন্যাস রয়েছে −
const arr =[2, 5, 7, 8, 9];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারেতে নেয়। ইনপুট অ্যারের প্রতিটি উপাদানের জন্য ফাংশনটিকে একটি নতুন সাবয়ারে তৈরি করা উচিত।
সাব-অ্যারেতে পার্থক্য থাকা উচিত (সেই উপাদান এবং পরবর্তী উপাদানগুলির মধ্যে একের পর এক পার্থক্য) উপাদান।
অতএব, প্রথম অ্যারের উপাদানের জন্য, পার্থক্যগুলি হল −
5 - 2 =37 - 2 =58 - 2 =69 - 2 =7
অতএব, প্রথম উপাদানের সাবয়ারে −
হওয়া উচিত[3, 5, 6, 7]
একইভাবে, দ্বিতীয় উপাদানের জন্য, এটি −
হওয়া উচিত[2, 3, 4]
তৃতীয় উপাদানের জন্য -
[1, 2]
চতুর্থ -
[1]
এবং যেহেতু পঞ্চমটি শেষ উপাদান সেখানে এটির জন্য কোন আইটেম অবশিষ্ট থাকবে না, তাই আমরা শেষ উপাদানটি বিবেচনা করছি না৷
অতএব, সম্পূর্ণ অ্যারের জন্য আউটপুট −
হওয়া উচিতকনস্ট আউটপুট =[ [3, 5, 6, 7], [2, 3, 4], [1, 2], [1]];
উদাহরণ
এর জন্য কোড হবে −
const arr =[2, 5, 7, 8, 9];const দূরত্বের মধ্যে =(arr,r =[]) => { if(r.length <=arr.length-2) { let temp =[ ]; let b =arr[r.length]; arr.forEach(e => temp.push(e - b)); r.push(temp.filter(e => e> 0)); (arr,r) এর মধ্যে ফেরত দূরত্ব; } else { রিটার্ন r; };}console.log(distanceBetween(arr));
আউটপুট
এবং কনসোলে আউটপুট হবে −
<প্রে>[ [ 3, 5, 6, 7 ], [ 2, 3, 4 ], [ 1, 2 ], [ 1 ] ]