কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে সবচেয়ে দীর্ঘ নন-নেগেটিভ যোগফল বালা সিকোয়েন্স বের করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা -১ থেকে ১ পর্যন্ত মান ধারণকারী পূর্ণসংখ্যাগুলোর একটি সিকোয়েন্স অ্যারে নেবে। ফাংশনটি সিকোয়েন্সের সবচেয়ে দীর্ঘ সাব-সেকশনের আকার ফেরত দেবে যেন তার যোগফল শূন্য বা ধনাত্মক হয়।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

const arr = [-1, -1, 0, 1, 1, -1, -1, -1];
const longestPositiveSum = (arr = []) => {
  let sum = 0;
  let maxslice = 0;
  let length = arr.length;
  const sumindex = [];
  let marker = length * 2 + 1;
  for(let i = 0; i < length * 2; i++){
    sumindex[i] = marker;
  }
  for(let i = 0; i < arr.length; i++){
    sum += arr[i];
    if (sum >= 0)
      maxslice = i + 1;
    else if (sumindex[sum+length] != marker)
      maxslice = Math.max(maxslice, i - sumindex[sum+length]);
    else
      sumindex[sum+length] = i;
  }
  return maxslice;
};
console.log(longestPositiveSum(arr));

আউটপুট

5

  1. জাভাস্ক্রিপ্টে ২-ডি অ্যারের প্রতিটি সারির ন্যূনতম মানের যোগফল

  2. জাভাস্ক্রিপ্টে সর্টেড অ্যারে থেকে আউট-অফ-অর্ডার এলিমেন্ট খুঁজে বের করা

  3. জাভাস্ক্রিপ্টে তিনটি অ্যারেতে সাধারণ সব উপাদানের যোগফল বের করা

  4. জাভাস্ক্রিপ্টে অ্যারেতে ফিবোনাচি সিকোয়েন্স খুঁজে বের করা