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を返す 理解を深めるために、次の実装