-
C++での配列の次数
numsと呼ばれる非負の整数の配列があるとすると、この配列の次数は、実際にはその要素のいずれかの最大頻度です。 numsと同じ次数を持つ、numsの連続するサブ配列の可能な限り最小の長さを見つける必要があります。 したがって、入力が[1,2,2,3,1]の場合、出力は2になります。これは、要素1と2の両方が2回出現するため、入力配列の次数が2であるためです。同じ次数を持つサブ配列-[1、2、2、3、1]、[1、2、2、3]、[2、2、3、1]、[1、2、2]、[2 、2、3]、[2、2]最短の長さは2です。Soanswerは2になります。 これを解決するには、次の手順に従います- サイズ
-
C++のグリッドの魔方陣
グリッドがあるとすると、そのグリッドに魔方陣のサブグリッドの数を見つける必要があります。魔方陣は、各行、列、および両方の対角線がすべて同じ合計になるように、1から9までの異なる数字で満たされた3x3グリッドです。 したがって、入力が次のような場合 4 3 8 4 9 5 1 9 2 7 6 2 魔方陣はなので、出力は1になります。 4 3 8 9 5 1 2 7 6 これを解決するには、次の手順に従います- 次の値で1つのセットを定義します:[816357492、
-
C++のカードのデッキにある種類のX
=2を選択できるかどうかを確認する必要があります。この場合、次の条件を満たす必要があります。各グループには正確にX枚のカードがあります。各グループのカードはすべて同じ番号です。 したがって、入力がdeck =[1,2,3,4,4,3,2,1]のようである場合、可能なパーティションは[1,1]、[2,2]であるため、出力はTrueになります。 [3,3]、[4,4]。 これを解決するには、次の手順に従います- 1つのマップmpを定義する デッキ内のすべてのxに対して (mp [x]を1増やします) mpのすべてのキーと値のペアx ans:=gcd of(ans and value o
-
C++で指定された桁の最大時間
4桁の配列があるとすると、24時間制で作成できる最大の時間を見つける必要があります。 24時間の最小時間は00:00で、最大時間は23:59であることがわかっています。 00:00から、深夜から時間が経過すると時間が長くなります。答えは長さ5の文字列として返す必要があります。返される有効な時間がない場合は、空の文字列を返します。 したがって、入力が[1,2,3,4]の場合、出力は「23:41」になります。 これを解決するには、次の手順に従います- 関数isValid()を定義します。これには、文字列aが必要です。 2の場合、- falseを返す 3と同じである場合、- falseを
-
全員にボーナスを与え、C++で100点を超えないようにした後に合格する最大の学生
このチュートリアルでは、全員にボーナスを与え、100点を超えないようにした後、合格する最大の生徒を見つけるプログラムについて説明します。 このために、N人の生徒のマークを含む配列が提供されます。私たちの仕事は、100点を超える生徒がいなくても、各生徒に同じ量のボーナスマークを与えることで、より多くの生徒に試験に合格させることです(50点が必要です)。 例 #include<iostream> #include<algorithm> using namespace std; int check(int n, int marks[]) { int
-
最大サブアレイサイズ。C++では、そのサイズのすべてのサブアレイの合計がk未満になります。
このチュートリアルでは、最大サブアレイサイズを見つけて、そのサイズのすべてのサブアレイの合計がk未満になるようにするプログラムについて説明します。 このために、サイズNと整数kの配列が提供されます。私たちのタスクは、指定された配列内のその長さのすべてのサブ配列の合計がk以下になるようにサブ配列の長さを見つけることです。 例 #include<bits/stdc++.h> using namespace std; //finding maximum length subarray int bsearch(int prefixsum[], int n, int k) {
-
C++の特定の要素を除く最大サブアレイ合計
このチュートリアルでは、特定の要素を除く最大のサブアレイ合計を見つけるプログラムについて説明します。 このために、サイズMとNの2つの配列が提供されます。私たちのタスクは、最初の配列でサブ配列を見つけて、サブ配列内の要素が2番目の配列内に存在せず、サブ配列の要素の合計が次のようになるようにすることです。最大。 例 #include <bits/stdc++.h> using namespace std; //checking if element is present in second array bool isPresent(int B[], int m, int x) {
-
C++で連結を繰り返した後に作成された配列の最大サブ配列合計
このチュートリアルでは、連結を繰り返した後に作成された配列で最大のサブ配列の合計を見つけるプログラムについて説明します。 このために、配列と整数Kが提供されます。私たちのタスクは、指定された配列がK回繰り返されたときに、最大の要素を持つサブ配列を見つけることです。 例 #include<bits/stdc++.h> using namespace std; //returning sum of maximum subarray int maxSubArraySumRepeated(int a[], int n, int k) { int max_so_f
-
C++でカウントが0よりも1多い最大サブマトリックス領域
このチュートリアルでは、カウントが0よりも1多い最大サブマトリックス領域を見つけるプログラムについて説明します。 このために、0と1を含むマトリックスが提供されます。私たちのタスクは、0よりも1が多い最大面積の部分行列を取得することです 例 #include <bits/stdc++.h> using namespace std; #define SIZE 10 //finding length of longest sub-matrix int lenOfLongSubarr(int arr[], int n, int& start, int& finish)
-
3つが連続しないような最大サブシーケンスの合計
このチュートリアルでは、3つが連続しないように最大のサブシーケンスの合計を見つけるプログラムについて説明します。 このために、一連の正の整数が提供されます。私たちのタスクは、合計値に連続する正の整数を取り入れずに、最大の合計を見つけることです。 例 #include <bits/stdc++.h> using namespace std; //returning maximum subsequence without involving //three consecutive numbers int maxSumWO3Consec(int arr[], int n) { &nbs
-
サブツリーがC++のBSTでもあるようなバイナリツリーの最大サブツリー合計
このチュートリアルでは、サブツリーがBSTでもあるように、バイナリツリーで最大のサブツリーの合計を見つけるプログラムについて説明します。 このために、バイナリツリーが提供されます。私たちのタスクは、二分探索木でもあるサブツリーの合計を出力することです。 例 #include <bits/stdc++.h> using namespace std; //creating binary tree node struct Node { struct Node* left; struct Node* right; int data; N
-
C++での最大合計交互サブシーケンス
このチュートリアルでは、最大合計交互サブシーケンスを見つけるプログラムについて説明します。 このために、整数の配列が提供されます。私たちのタスクは、交互のサブシーケンス、つまり最初に減少し、次に増加し、次に減少するシーケンスの最大合計を見つけることです。 例 #include<bits/stdc++.h> using namespace std; //returning maximum sum alternating series int maxAlternateSum(int arr[], int n) { if (n == 1) return arr
-
C++の数値のM個の連続する数字の最大合計と積
この問題では、数字を表す文字列が与えられます。私たちのタスクは、C++の数値のM個の連続する数字の最大合計と積を見つけるプログラムを作成することです。 問題の説明 M個の連続した数字のすべてのシーケンスを見つけます。そして、最大の合計と積を返します。 問題を理解するために例を見てみましょう 入力 number = 2379641, M = 4 出力 maxSum = 26maxProd = 1512 説明 サイズ4のすべてのサブシーケンスは2379、3796、7964、9641です。maxSum=7 + 9 + 6 + 4 =26 maxProd =7 * 9 * 6 * 4 =151
-
C++での最大合計バイトニックサブアレイ
この問題では、配列arr[]が与えられます。私たちのタスクは、C++で最大の合計バイトニックサブアレイを見つけるプログラムを作成することです。 Bitonicサブアレイ は、要素が最初に厳密に増加し、特定のポイントに到達した後に厳密に減少する特別なサブ配列です。 問題を理解するために例を見てみましょう 入力 arr[] = {4, 2, 3, 7 ,9, 6, 3, 5, 1} 出力 30 説明 バイトニックサブアレイは[2、3、7、9、6、3]です。合計=2 + 3 + 7 + 9 + 6 + 3 =30 ソリューションアプローチ 解決策は、ビットニック部分列問題の解決策と似てい
-
C++での最大合計バイトニックサブシーケンス
この問題では、配列arr[]が与えられます。私たちのタスクは、C++で最大合計のBitonicサブシーケンスを見つけるプログラムを作成することです。 バイトニック サブシーケンスは、要素が最初に増加し、次に減少する特別なシーケンスです。 問題を理解するために例を見てみましょう 入力 arr[] = {4, 2, 3, 7, 9, 6, 3, 5, 1} 出力 33 説明 最大の合計を与えるバイトニックサブシーケンスは{2、3、7、9、6、5、1}合計=2 + 3 + 7 + 9 + 6 + 5 + 1 =33 ソリューションアプローチ 最大合計ビットニックサブシーケンスを見つけるた
-
C++での最大合計減少サブシーケンス
この問題では、N個の整数の配列arr[]が与えられます。私たちのタスクは、C++で最大合計減少サブシーケンスを見つけることです。 問題の説明 サブシーケンスが厳密に減少するように、配列から要素の最大合計を見つけます。 問題を理解するために例を見てみましょう 入力 arr[] = {3, 1, 6, 10, 5, 2, 9} 出力 17 説明 最大合計でサブシーケンスを減らすと、{10、5、2} =10 + 5 + 2 =17 ソリューションアプローチ ここでは、動的計画法のアプローチを使用して解決策を見つけます。ここでは、インデックスiまでmaxSumを格納するmaxSum[]配列
-
C / C ++、Python、PHP、Javaで2つの変数を1行で交換します
このチュートリアルでは、2つの変数を異なる言語で交換する方法を学習します。交換とは、2つの変数の値を交換することを意味します。例を見てみましょう。 入力 a = 3 b = 5 出力 a = 5 b = 3 一つずつ見ていきましょう。 Python Pythonでは、変数を1行のコードと交換できます。コードを見てみましょう。 例 # initializing the variables a, b = 3, 5 # printing before swaping print("Before swapping:-", a, b) # swapping a, b = b,
-
C++での単語の略語
n個の一意の文字列の配列があるとすると、以下のルールに従って、すべての単語に対して可能な限り最小限の略語を生成する必要があります。 最初の文字から始まり、省略された文字数、最後の文字が続きます。 競合が見つかり、複数の単語が同じ略語を共有している場合は、単語から略語へのマップが一意になるまで、最初の文字だけでなく、より長いプレフィックスを使用できます。 略語で単語が短くならない場合は、元の単語のままにしてください。 したがって、入力が[like、 god、 internal、 me、 internet、 interval、 intension、 face、 intrus
-
C++での最大休暇日数
ある会社が、最高の従業員の1人に、リソースを収集するためにN都市間を移動するオプションを提供したいとします。しかし、従業員は休暇も望んでいます。特定の都市や週で休暇を取ることができます。私たちの仕事は、休暇を取ることができる日数を最大化するように旅行をスケジュールすることですが、従わなければならない特定の規則と制限があります。 私たちはN都市間を移動することしかできません。それらは0からN-1までのインデックスで表されます。まず、月曜日に0のインデックスが付けられた都市にいます。 これらの都市は飛行機で結ばれています。フライトを表すために、1つのN x N行列(必ずしも対称である必
-
C++での最大平均サブアレイII
n個の整数を持つ配列があるとすると、最大平均値を持つk以上の長さの連続するサブ配列を見つける必要があります。最大平均値を見つける必要があります。 したがって、入力が[1,12、-5、-6,50,3]、k =4の場合、長さが5の場合のように、出力は12.75になります。長さが6の場合、最大平均値は10.8です。 、最大平均値は9.16667です。したがって、出力は12.75です。 これを解決するには、次の手順に従います- 関数ok()を定義します。これには、x、配列nums、k、が必要です。 n:=numsのサイズ サイズの配列arrを定義します:n。 初期化i:=0