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

জাভাস্ক্রিপ্টে বাইনারি রিপ্রেজেন্টেশনে ১-এর মধ্যে সর্বোচ্চ দূরত্ব বের করা

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

যদি দুটি সংলগ্ন ১ নেই, তবে ০ রিটার্ন করতে হবে।

দুটি ১ সংলগ্ন হয় যদি তাদের মাঝপথে শুধু ০ থাকে (হতে পারে ০ ০-ও থাকে)। দুটি ১-এর মধ্যে দূরত্ব হলো তাদের বিট পজিশনের absoluta পার্থক্য। উদাহরণস্বরূপ, "1001"-এ দুটি ১-এর দূরত্ব ৩।

উদাহরণস্বরূপ:

ইনপুট ২২ হলে আউটপুট হবে ২,

কারণ:

  • ২২-এর বাইনারি কোড 10110
  • প্রথম সংলগ্ন ১ জোড়া "10110" দূরত্ব ২
  • দ্বিতীয় সংলগ্ন ১ জোড়া "10110" দূরত্ব ১
  • উত্তর হলো এই দুটির সর্বোচ্চ, যা ২

লক্ষ্য করুন "10110" একটি বৈধ জোড়া নয় কারণ দুটি ১-এর মাঝপথে একটি ১ আছে।

উদাহরণ

const num = 22;
const binaryGap = (num = 1) => {
  let last = -1;
  let ans = 0; // go through every bit
  for (let i = 0; i < 32; i++) {
    // check whether the bit is `1`. //
    if ((num >> i) & 1 > 0) {
      if (last >= 0) {
        ans = Math.max(ans, i - last);
      }
      last = i;
    }
  }
  return ans;
};
console.log(binaryGap(num));

আউটপুট

কনসোলে আউটপুট হবে:

2
  1. জাভাস্ক্রিপ্টে ডেসিমাল থেকে বাইনারি কনভার্ট কীভাবে করবেন?

  2. জাভাস্ক্রিপ্টে টেক্সটের লাইনগুলোর মধ্যবর্তী দূরত্ব সেট করা

  3. জাভাস্ক্রিপ্টে বাইনারি সার্চ ট্রি

  4. জাভাস্ক্রিপ্টে বাইনারি ট্রি