C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

合計が偶数である空でない部分文字列の長さを見つけるC++プログラム


n個の要素を持つ配列Aがあるとします。その要素の空でないサブセットの長さを見つけて、それらの合計が偶数になるか、そのようなサブセットがない場合に-1を返すようにする必要があります。

したがって、入力がA =[1、3、7]の場合、[1、3]の合計は4であるため、出力は2になります。

ステップ

これを解決するには、次の手順に従います-

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++プログラム

    文字列は、ヌル文字で終了する1次元の文字配列です。文字列の長さは、ヌル文字の前の文字列の文字数です。 たとえば。 char str[] = “The sky is blue”; Number of characters in the above string = 15 文字列の長さを見つけるプログラムは次のとおりです。 例 #include<iostream> using namespace std; int main() {    char str[] = "Apple";    int co

  2. Pythonで合計が0である最長のサブリストの長さを見つけるプログラム

    値1と-1の2つだけのリストがあるとします。合計が0である最長のサブリストの長さを見つける必要があります。 したがって、入力がnums =[1、1、-1、1、1、-1、1、-1、1、-1]のような場合、最長のサブリストは[-1]であるため、出力は8になります。 、1、1、-1、1、-1、1、-1]その合計は0です。 これを解決するには、次の手順に従います- テーブル:=新しい空のマップ cs:=0、max_diff:=0 0からnums− 1のサイズのiの場合、実行します cs:=cs + nums [i] csが0と同じ場合、 max_diff:=