C++ を使用して、同じ最小値と最大値を持つ部分配列の数を見つけるコードを作成します。
この記事では、C を使用して、同じ最大値と最小値を持つ部分配列の数を見つける問題を解決します。以下にこの問題の例を示します。
Input : array = { 2, 3, 6, 6, 2, 4, 4, 4 } Output : 12 Explanation : {2}, {3}, {6}, {6}, {2}, {4}, {4}, {4}, {6,6}, {4,4}, {4,4} and { 4,4,4 } are the subarrays which can be formed with maximum and minimum element same. Input : array = { 3,3,1,5,1,2,2 } Output : 9 Explanation : {3}, {3}, {1}, {5}, {1}, {2}, {2}, {3,3} and {2,2} are the subarrays which can be formed with minimum and maximum are the same.
解決方法
例として、以下に等しい同じ最小要素と最大要素を使用して、最小数の部分配列を形成できると言えます。配列のサイズ。連続する番号が同じ場合、サブ配列の数はさらに多くなる可能性があります。
そこで、各要素を走査し、連続する番号が同じかどうかをチェックする方法を使用できます。連続した番号が同じ場合はカウントが増加し、異なる番号が見つかった場合は、内側のループが実行されます。中断される。
内部ループが終了するか中断されるたびに、結果変数がインクリメントされ、最終的に結果変数が表示されます。
p>
Example
#include <bits/stdc++.h> using namespace std; int main(){ int a[ ] = { 2, 4, 5, 3, 3, 3 }; int n = sizeof(a) / sizeof(a[0]); int result = n, count =0; for (int i = 0; i < n; i++) { for (int j = i+1; j < n; j++) { if(a[i]==a[j]) count++; else break; } result+=count; count =0; } cout << "Number of subarrays having minimum and maximum elements same:" << result; return 0; }
Output
Number of subarrays having minimum and maximum elements same: 9 Time complexity = O(n<sup>2</sup>).
上記のコードの説明
このコードでは、変数 n を使用して、配列 のサイズ、結果 = n。これは、少なくとも n 個の部分配列を形成でき、同じ数のカウントが計算されるためです。
外側のループは、配列内の各要素を処理するために使用されます。内側のループは、インデックス要素の後に連続する同一の数値がいくつあるかを見つけるために使用され、内側のループの最後で、結果変数とともにカウント変数をインクリメントします。最後に、結果変数に保存された出力が表示されます。
効率的な方法
この方法では、各要素を反復処理し、各要素について、連続する同じ数字がいくつあるかを検索します。見つかった同じ数値ごとに count 変数をインクリメントし、異なる数値が見つかったら、式 "n = n*(n 1)/2" 配列を使用して形成できる細分化の数を見つけて増分します。結果変数。
例
#include <bits/stdc++.h> using namespace std; int main(){ int a[] = { 2, 4, 5, 3, 3, 3 }; int n = sizeof(a) / sizeof(a[0]); int result = 0; int count =1,temp=a[0]; for (int i = 1; i < n; i++) { if (temp==a[i]){ count++; } else{ temp=a[i]; result = result + (count*(count+1)/2); count=1; } } result = result + (count*(count+1)/2); cout << "Number of subarrays having minimum and maximum elements same:" << result; return 0; }
出力
Number of subarrays having minimum and maximum elements same: 9 Time complexity : O(n)
上記のコードの説明
このコードでは、配列の 0 番目のインデックスを temp 変数に格納します。そしてインデックス 1 からループを開始します。 temp 変数が現在のインデックスの要素と等しいかどうかを確認し、同じ数が見つかった場合はカウントを 1 ずつ増分します。 temp 変数がインデックス要素と等しくない場合は、同じ数を数えることによって導出できる部分配列の組み合わせを見つけ、結果を結果変数に格納します。一時的な値を現在のインデックスに変更し、カウントを 1 にリセットします。最後に、結果変数に格納されている答えを表示します。
結論
この記事では、同じ最小要素と最大要素を持つ部分配列の数を見つける問題を解決しました。また、この問題を解決する C プログラムと、この問題を解決する完全な方法 (通常かつ効率的) も学びました。同じプログラムを C、Java、Python などの他の言語で書くことができます。この記事がお役に立てば幸いです。
以上がC++ を使用して、同じ最小値と最大値を持つ部分配列の数を見つけるコードを作成します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









math.Max 関数を使用して、一連の数値の最大値を取得します。数学やプログラミングでは、一連の数値の最大値を見つけることが必要になることがよくあります。 Go 言語では、数学パッケージの Max 関数を使用してこの関数を実現できます。この記事では、 math.Max 関数を使用して一連の数値の最大値を取得する方法と、対応するコード例を紹介します。まず、数学パッケージをインポートする必要があります。 Go 言語では、以下に示すように、import キーワードを使用してパッケージをインポートできます。

配布外 (OOD) の検出は、オープンワールドのインテリジェント システムの信頼性の高い動作に不可欠ですが、現在のオブジェクト指向の検出方法では「評価の不一致」(評価の不一致) が発生します。以前の作品 OpenOODv1 は OOD 検出の評価を統合しましたが、スケーラビリティと使いやすさには依然として制限がありました。最近、開発チームは OpenOODv1.5 を再度提案し、以前のバージョンと比較して、新しい OOD 検出手法の評価は、精度の確保、標準化、使いやすさの点で大幅に改善されました。イメージペーパー: https://arxiv.org/abs/2306.09301OpenOODCodebase:htt

適合率-再現率曲線では、同じ点が異なる軸でプロットされます。警告: 左側の最初の赤い点 (再現率 0%、精度 100%) は 0 ルールに対応します。左側の 2 番目のドットが最初のルール、というように続きます。 Skope-rules は、ツリー モデルを使用してルール候補を生成します。まず、いくつかのデシジョン ツリーを構築し、ルート ノードから内部ノードまたはリーフ ノードまでのパスをルール候補として検討します。これらの候補ルールは、適合率や再現率などの事前定義された基準によってフィルタリングされます。精度と再現率がしきい値を超えるものだけが保持されます。最後に、類似性フィルタリングを適用して、十分な多様性を持つルールを選択します。一般に、スコープ ルールは、それぞれの根本原因を学習するために適用されます。

私たちは皆、2、3、5、7、8 など、数の 2 乗ではない数字を知っています。非正方形の数は N 個あり、すべての数を知ることは不可能です。そこで、この記事では、平方なしまたは非平方数と、C++ で N 番目の非平方数を見つける方法についてすべて説明します。 N 番目の非平方数 数値が整数の 2 乗である場合、その数値は完全平方と呼ばれます。完全平方数の例としては、-1issquareof14issquareof29issquareof316issquareof425issquareof5 などがあります。数値がどの整数の平方でもない場合、その数値は非正方形と呼ばれます。たとえば、最初の 15 個の非平方数は -2、3、5、6 です。

Java では、実行時にパラメータを渡す 1 つの方法は、コマンド ラインまたはターミナルを使用することです。コマンド ライン パラメーターのこれらの値を取得する場合、実行時にユーザーが指定したパラメーターの数を見つける必要がある場合があります。これは、length 属性を使用して実現できます。この記事は、サンプル プログラムを使用して、ユーザーが指定した数のパラメーターを渡したり取得したりするプロセスを説明することを目的としています。実行時にユーザーが指定した引数の数を取得する コマンド ライン引数の数を調べる前に、最初のステップとして、ユーザーが実行時に引数を渡せるようにするプログラムを作成します。 String[] パラメータ Java プログラムを作成するとき、main() メソッドに遭遇することがよくあります。 JVM がこのメソッドを呼び出すと、Java アプリケーションが実行を開始します。 String[]args という引数とともに使用されます。

円は閉じた図形です。円上のすべての点は、円内の点から等距離にあります。中心点を円の中心といいます。点から円の中心までの距離を半径といいます。面積は、閉じた図形の寸法の範囲を定量的に表現したものです。円の面積は、円の寸法内に囲まれた面積です。円の面積を計算する式、Area=π*r*r 面積を計算するには、円の半径を入力として与え、その式を使用して面積を計算します。アルゴリズム STEP1: stdinput を使用してユーザーからの入力として半径を取得します。STEP2 : area=( を使用して円の面積を計算します。

この記事では、指定された配列を k 要素分右に回転する逆転アルゴリズムについて学びます。たとえば、−Input:arr[]={4,6,2,6,43,7,3,7}、 k= 4出力:{43,7,3,7,4,6,2,6}説明:配列の各要素を 4 要素ずつ右に回転すると、{43,7,3,7,4,6,2,6} が得られます。入力:arr[]= {8 ,5,8,2,1,4,9,3},k=3出力:{4,9,3,8,5,8,2,1} 解決策を見つける

Linux コマンドは、システム管理者の日常業務に欠かせないツールの 1 つであり、さまざまなシステム管理タスクの実行に役立ちます。運用保守作業では、問題を検出して適時に調整するために、システム内の特定のプロセスの番号を確認する必要がある場合があります。この記事では、Linuxコマンドを使用してTelnetプロセス数を確認する方法を紹介しますので、一緒に学びましょう。 Linux システムでは、ps コマンドと grep コマンドを組み合わせて使用すると、Telnet プロセスの数を表示できます。まず、ターミナルを開く必要があります。
