কম্পিউটার

ডাইনামিক প্রোগ্রামিং - জাভাস্ক্রিপ্ট উপাদানের অংশ সমষ্টি


ধরুন, আমাদের কাছে এই −

এর মত সংখ্যার একটি অ্যারে আছে
const arr =[1, 2, 3, 4, 5];

প্রতিবার একটি উপাদান কম নিলে, এই অ্যারেটিকে এভাবে আলাদা করা যেতে পারে −

<প্রে>[1, 2, 3, 4, 5][2, 3, 4, 5][3, 4, 5][4, 5][5][]

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এইরকম একটি অ্যারেতে নেয়। ফাংশনটি উপরে বর্ণিত একইভাবে অ্যারেকে আলাদা করা উচিত।

ফাংশনটি তারপর এই অংশগুলির সংশ্লিষ্ট যোগফল সমন্বিত একটি অ্যারে তৈরি করবে এবং সেই অ্যারেটি ফিরিয়ে দেবে৷

অতএব, এই অ্যারের জন্য, আউটপুট −

এর মত হওয়া উচিত
কনস্ট আউটপুট =[15, 14, 12, 9, 5 0];

এই সমস্যা সমাধানের জন্য আমরা ডায়নামিক প্রোগ্রামিং ব্যবহার করব। আমরা প্রথমে O(n) সময়ে সম্পূর্ণ অ্যারের যোগফল গণনা করব, যা শেষ পর্যন্ত অ্যারের প্রথম উপাদানে পরিণত হবে। তারপর অন্য পুনরাবৃত্তিতে, আমরা আউটপুট অ্যারে উপাদানগুলি পেতে সংশ্লিষ্ট উপাদানগুলিকে বিয়োগ করতে থাকব। এইভাবে আমরা O(n) সময় এবং O(1) স্থানে এই সমস্যার সমাধান করতে পারি।

উদাহরণ

const arr =[1, 2, 3, 4, 5];const sumArray =(arr =[]) => arr.reduce((a, b) => a + b, 0); const partialSum =(arr =[]) => { যাক sum =sumArray(arr); const res =[সমষ্টি]; জন্য(আলো i =0; i  

আউটপুট

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে <প্রে>[ 15, 14, 12, 9, 5, 0 ]

  1. জাভাস্ক্রিপ্টে একটি অ্যারেতে উপাদানগুলির পছন্দসই যোগফল খোঁজা

  2. জাভাস্ক্রিপ্টে অ্যারে উপাদানগুলিকে পুনর্বিন্যাস করা

  3. জাভাস্ক্রিপ্টে একটি অ্যারের উপাদান পুনর্বিন্যাস করা

  4. জাভাস্ক্রিপ্ট ব্যবহার করে দ্বি-মাত্রিক অ্যারের উপাদানগুলির পর্যায়ক্রমে যোগফল