কম্পিউটার

C++ প্রোগ্রাম যা খালি নয় এমন সাবস্ট্রিং এর দৈর্ঘ্য খুঁজে বের করে যার যোগফল সমান


ধরুন আমাদের n উপাদান সহ একটি অ্যারে A আছে। আমাদেরকে এর উপাদানগুলির অ-খালি উপসেটের দৈর্ঘ্য খুঁজে বের করতে হবে যেমন তাদের যোগফল জোড় বা ফেরত -1 যখন এই ধরনের কোন উপসেট নেই।

সুতরাং, যদি ইনপুটটি A =[1, 3, 7] এর মত হয়, তাহলে আউটপুট হবে 2, কারণ [1, 3] এর যোগফল 4।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

n := size of A
for initialize i := 0, when i < n, update (increase i by 1), do:
   if A[i] mod 2 is same as 0, then:
      k := i + 1
if n is 1 AND k is 0, then:
   return -1
otherwise when k is not equal to 0, then:
   return 1
Otherwise
   return 2

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;

int solve(vector<int> A) {
   long n = A.size(), k = 0;
   for (long i = 0; i < n; i++) {
      if (A[i] % 2 == 0) {
         k = i + 1;
      }
   }
   if (n == 1 & k == 0) {
      return -1;
   }
   else if (k != 0) {
      return 1;
   }
   else {
      return 2;
   }
}
int main() {
   vector<int> A = { 1, 3, 7 };
   cout << solve(A) << endl;
}

ইনপুট

{ 1, 3, 7 }

আউটপুট

2

  1. C++ প্রোগ্রামে একটি সংখ্যার জোড় গুণনীয়কের যোগফল বের করতে?

  2. একটি সংখ্যার জোড় গুণনীয়কের যোগফল বের করতে C++ প্রোগ্রাম?

  3. একটি স্ট্রিং এর দৈর্ঘ্য খুঁজে বের করার জন্য C++ প্রোগ্রাম

  4. দীর্ঘতম সাবলিস্টের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম যার যোগফল পাইথনে 0