د مونټونیک سرې لیټ کوډ حل


مشکل کچه په اسانۍ سره
په مکرر ډول دننه پوښتل کیږي ترلاسه کړئ Amazon فیسبوک
پیشه

د ستونزې بیان

په ستونزه کې "مونوټونک اري" موږ ته یو لینک راکړل شو. زموږ دنده دا ده چې وګورو چې صف یو مونوټونک صف یا نه.

یو منټونیک صفونه یو صف دی چېرته چې عناصر یا خو په ترتیب سره زیاتوالي یا کمیدو ترتیب کې ترتیب شوي. که چیرې صف په زیاتیدونکي ترتیب کې ترتیب شي نو د یو سرنی آرار لپاره [] ، آر آر [i] <= آر آر [i + 1]. د کمیدونکي ترتیب کې ترتیب شوي ترتیب په توګه ، آرر [i]> = آرر [i + 1].

فنکشن باید یوازې هغه وخت ریښتیني شي کله چې سرنی مونوټونک وي. نور ، غلط راګرځئ.

بېلګه

arr={1,2,4,5}
true

وضاحت:  د هر یو آر لپاره په ورکړل شوي صف کې [i]

او کړنلاره

د دې ستونزې حل کولو لپاره دا خورا مهم دي چې په روښانه ډول پوهه شي چې مونوټونیک صف څه شی دی.

یو منټونیک صف یو صف دی په کوم کې که چیرې موږ د لړلیک شمیره او د سرنی په مینځ کې د ارزښت تر مینځ ګراف رامینځته کړو نو دا یا هم د monotonic ډیریدو یا کمیدو ګراف رامینځته کوي. لاندې عکس د مونوټونک وده او کمیدونکی ګراف ښیې.

د مونټونیک سرې لپاره د لیټکوډ حل

دې ستونزې ته رسیدګی ورته دی ، موږ به د تیر څخه تیر شو او وګورو چې آیا دا د آرر په چیک کولو سره مخ په زیاتیدونکی سرعت دی [i] <= تیر [i + 1]. که چیرې دا مخ په زیاتیدونکی صف وي نو ورکړل شوی سرنی یو منټونیک صف دی نور نو موږ به بیا له تیر څخه تیر شو او وګورو چې آیا دا د کمښت په توګه د دې په چیک کولو سره چې ارار [i]> = آرر [i + 1] دی. که چیرې دا کمیدونکی صف وي نو ورکړل شوی سرنی یو منټونیک صف دی نور دا یو منټونیک صف نه دی.

موږ کولی شو دا هم وګورو چې آیا صف یوازې د یو ټریورسال په کارولو سره زیاتوالی یا کمیدونکی دی. موږ به دوه بیرغونه isincr او isdec وکاروو او دا به د ریښتیني سره پیل کړو. که A [i]> A [i + 1] نو بیا به یې غلط وي او که A [i] <A [i + 1] نو بیا به isdec غلط شي. که صف یو ډول دی نو لږترلږه یو د isincr او isdec څخه به سم وي. کله چې دواړه دروغ وي پدې معنی چې سرنی مونوټونیک ندی ځکه چې دواړه غلط ارزښتونه وړاندیز کوي چې په صف کې ارزښت دواړه ورځ په ورځ ډیریدل او کمیدل دي.

 

کوډ

C ++ د مونټونیک سرنو لیټ کوډ حل

#include <bits/stdc++.h> 
using namespace std; 
        bool isMonotonic(vector<int>& A) {
        bool isincr = true;
        bool isdec = true;
        int n=A.size();
        for (int i = 0; i < n- 1; ++i) {
            if (A[i] > A[i+1])
                isincr = false;
            if (A[i] < A[i+1])
               isdec = false;
        }

        return isincr || isdec;   
    }

int main() 
{ 
 vector<int> arr = {1,2,4,5}; 
 cout <<boolalpha;
 cout<<isMonotonic(arr)<<endl; 
 return 0;
}
true

د جاوا مونوټونک اری لیټ کوډ حل

import java.util.Arrays; 
public class Tutorialcup {
    public  static  boolean isMonotonic(int[] A) {
        boolean isincr = true;
        boolean isdec = true;
        int n=A.length;
        for (int i = 0; i < n- 1; ++i) {
            if (A[i] > A[i+1])
                isincr = false;
            if (A[i] < A[i+1])
               isdec = false;
        }

        return isincr || isdec;   
}
  public static void main(String[] args) {
    int [] arr = {1,2,4,5}; 
    boolean ans= isMonotonic(arr);
    System.out.println(ans);
  }
}
true

د مونټونیک صفونو پیچلتیا تحلیل

د وخت پیچلتیا

د پورتنۍ کوډ وخت پیچلتیا ده اې (N) ځکه چې موږ یوازې یوځل د سیر سپړنه کوو ترڅو وګورو چې ایا دا یو monotonic سرنی دی که نه. دلته n د ننوت صف اندازه ده.

د ځای پیچلتیا

د پورتنۍ کوډ د ځای پیچلتیا ده O (1) ځکه چې موږ یوازې د ځوابونو ذخیره کولو لپاره تغیر ورکوو.

ماخذونه