C++でのグローバルおよびローカルの反転
[0、1、...、N --1]の順列Aがあるとします。ここで、NはAの長さです。ここで、(グローバル)反転の数はi
これを解決するには、次の手順に従います-
- maxVal:=-1、n:=Aのサイズ
- 0からn–3の範囲のiの場合
- maxVal:=A[i]とmaxValの最大値
- maxVal> A [i + 2]の場合、falseを返します
- trueを返す
理解を深めるために、次の実装を見てみましょう-
例
#include <bits/stdc++.h> using namespace std; class Solution { public: bool isIdealPermutation(vector<int>& A) { int maxVal = -1; int n = A.size(); for(int i = 0; i < n - 2; i++){ maxVal = max(A[i], maxVal); if(maxVal > A[i + 2]) return false; } return true; } }; main(){ vector<int> v = {1,0,2}; Solution ob; cout << (ob.isIdealPermutation(v)); }
入力
[1,0,2]
出力
1
-
Javaのグローバル変数とローカル変数
ローカル変数は、メソッド、コンストラクター、またはブロックで宣言されます。これらは、メソッド、コンストラクター、またはブロックが入力されたときに作成され、変数がメソッド、コンストラクター、またはブロックを終了すると破棄されます。 アクセス修飾子はローカル変数には使用できません。ローカル変数は、宣言されたメソッド、コンストラクター、またはブロック内でのみ表示されます。これらの変数は、内部でスタックレベルで実装されます。ここで、ローカル変数の例を見てみましょう- 例 public class Demo { public void Rank() { &nbs
-
Pythonでグローバル反転とローカル反転の数が同じかどうかを確認するプログラム
nums[j]のようなインデックスi nums [i+1]のようなインデックスiとi+1がある場合です。グローバル反転の数がローカル反転の数と等しいかどうかを確認する必要があります。 したがって、入力がnums =[3、2、4]のような場合、インデックス0と1は両方ともグローバルとローカルの反転であるため、出力はTrueになります。 これを解決するには、次の手順に従います- l:=numsのサイズ 0〜l-3の範囲のiの場合、do i + 2からl-1の範囲のjについては、 nums [j]の場合、 Falseを返す Trueを返す 理解を深めるために、次の実装