Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में वैश्विक और स्थानीय उलटफेर


मान लीजिए हमारे पास [0, 1, ..., N - 1] का कुछ क्रमपरिवर्तन A है, जहां N, A की लंबाई है। अब (वैश्विक) उलटफेर की संख्या i < j की संख्या है जहां 0 <= i < j < N और A[i] > A[j]। और स्थानीय उलटफेर की संख्या i की संख्या है जहां 0 <= i < N और A[i] > A[i+1]। हमें तभी true लौटाना है जब वैश्विक उलटफेर की संख्या स्थानीय उलटफेर की संख्या के बराबर हो। तो यदि इनपुट [1,0,2] जैसा है, तो true लौटाएं, क्योंकि केवल एक स्थानीय उलटफेर और एक वैश्विक उलटफेर है।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • maxVal := -1, n := A का आकार
  • i को 0 से n - 3 की रेंज में
    • 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

  1. - Java में ग्लोबल और लोकल वेरिएबल्स

    लोकल वेरिएबल्स मेथड्स, कंस्ट्रक्टर्स, या ब्लॉक्स में घोषित किए जाते हैं। वे तब बनाए जाते हैं जब मेथड, कंस्ट्रक्टर, या ब्लॉक में प्रवेश किया जाता है और वेरिएबल नष्ट हो जाता है जब यह मेथड, कंस्ट्रक्टर, या ब्लॉक से बाहर निकलता है। लोकल वेरिएबल्स के लिए एक्सेस मॉडिफायर्स का उपयोग नहीं किया जा सकता। लोक

  1. - पायथन में ग्लोबल और लोकल इनवर्जन की संख्या समान है या नहीं जांचने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक विशिष्ट संख्याओं की एक सूची है। यहां एक ग्लोबल इनवर्जन तब होता है जब इंडेक्स i < j ऐसे कि nums[j]। और लोकल इनवर्जन तब होता है जब इंडेक्स i और i+1 ऐसे कि nums[i+1]। हमें जांचना है कि ग्लोबल इनवर्जन की संख्या लोकल इनवर्जन की संख्या के बराबर है या नहीं।उदाहरण के लिए, यदि

  1. - पायथन में ग्लोबल और लोकल वेरिएबल्स

    पायथन में वेरिएबल्स का स्कोप होता है: ग्लोबल (पूरा प्रोग्राम) या लोकल (केवल फ़ंक्शन के अंदर)। बुनियादी उदाहरण def func(): x = Python # लोकल वेरिएबल print(x) s = Tutorialspoint # ग्लोबल वेरिएबल func() print(s) # Tutorialspoint # print(x) # NameError: x लोकल है, यहां एक्सेसिबल नहीं लोक