अ‍ॅरेमध्ये जास्तीत जास्त अंतर


अडचण पातळी सोपे
वारंवार विचारले अडोब ऍमेझॉन Google ओरॅकल
अरे हॅश

आपल्याला दिलेली समस्या "अ‍ॅरे मध्ये जास्तीत जास्त अंतर" सांगते “एन” नाही अ‍ॅरे आणि सर्व अ‍ॅरे चढत्या क्रमाने दिले आहेत. तुमचे कार्य म्हणजे दोन मधील अधिकतम फरक / परिपूर्ण फरक शोधणे अॅरे आणि आम्ही दोन संख्यांमधील जास्तीत जास्त अंतर निश्चित करू शकतो एब्स | अब |. आपण भिन्न अ‍ॅरे तयार करण्यासाठी दोन नंबर निवडू शकता आणि शोधू शकता एब्स | अब | जास्तीत जास्त फरक म्हणून.

उदाहरण

[  [1,2,3],
[0,2,3],
[1,4,5] ]
5

स्पष्टीकरण

कारण दुसर्‍या अ‍ॅरे मधील संख्या '0' आणि तिसर्‍या अ‍ॅरे मधील संख्या '5' संपूर्ण अ‍ॅरेमध्ये जास्तीत जास्त परिपूर्ण फरक दर्शविते.

अल्गोरिदम

  1. व्हेरिएबल आउटपुट घोषित करा आणि ते 0 वर सेट करा.
  2. किमान मूल्य सेट करा भिन्न[0] [0].
  3. जास्तीत जास्त मूल्य सेट करा व्हेरे प्रथम पंक्तीची लांबी जास्तीत जास्त= प्रकार [०] [०th पंक्तीची लांबी -1].
  4. पहिल्या अ‍ॅरेचा पहिला घटक आणि दुसरा अ‍ॅरे शेवटचा घटक आणि पहिल्या अ‍ॅरेच्या शेवटच्या घटकामधील फरक आणि दुसर्‍या अ‍ॅरेच्या पहिल्या घटकामधील फरकांचे कमाल मूल्य शोधा
  5. तर वरील ओळ व आउटपुट मधून उत्पादित केलेल्या मूल्यात कमाल मूल्य शोधा आणि ते आउटपुटमध्ये संचयित करा.
  6. यामधील लहान मूल्य शोधा प्रकार [i] [०] आणि किमान आणि किमान सेट करा.
  7. दरम्यानचे मोठे मूल्य शोधा प्रकार [i] [पंक्ती_ आकार -1] आणि जास्तीत जास्त आणि जास्तीत जास्त सेट करा.
  8. अ‍ॅरेच्या समाप्तीपर्यंत वरील प्रक्रिया पुन्हा करा.
  9. रिटर्न आउटपुट

अ‍ॅरे मध्ये मॅक्सिमम डिस्टेंसचे स्पष्टीकरण

वेगवेगळ्या अ‍ॅरेमधील दोन संख्यांमधील जास्तीत जास्त परिपूर्ण फरक शोधणे हे आपले कार्य आहे. आम्ही नेस्टेड 'फॉर लूप' वापरु शकतो आणि सर्व संख्येचा जास्तीत जास्त फरक शोधून ते सुलभ करू शकतो.

परंतु नेस्टेड लूप वापरण्याऐवजी आणि अ‍ॅरेचे सर्व घटक शोधून काढणे. आपण एक साधा वापर करू शकतो साठी पळवाट आणि एक कार्यक्षम समाधान आहे. सर्व घटक इनपुट अ‍ॅरेमध्ये चढत्या क्रमाने लावले गेले आहेत. आम्हाला भिन्न अ‍ॅरेच्या शेवटच्या आणि पहिल्या घटकांमधील फरक शोधण्याची आवश्यकता आहे. कारण केवळ या दोन स्थित संख्याच जास्तीत जास्त फरक देऊ शकतात. तथापि, प्रत्येक अ‍ॅरेची क्रमवारी लावली जाते आणि प्रथम घटक नेहमीच सर्वात कमी किंवा कमी असतो. आणि शेवटचा घटक अ‍ॅरेची सर्वात मोठी संख्या असेल.

तर मग आपण येथे एक उदाहरण घेऊ आणि त्याचे निराकरण करू.

इनपुटः अरे: [] [] = {, 0,2,4}, {2,3},, 4,5,6}};

आउटपुट = 0, कमाल = 4, किमान = 0, i = 1

आउटपुट = एसटीडी :: कमाल (आउटपुट,

एसटीडी :: कमाल (एबीएस (व्हेरे [i] [व्हेरे [i]. आकार () - 1] - किमान),

एबीएस (जास्तीत जास्त-व्हेरे [i] [0])))

आउटपुट 3 म्हणून स्टोअर आहे

जास्तीत जास्त ते 4 आहे म्हणून, किमान ते 0, i = 2 आहे

आउटपुट = एसटीडी :: कमाल (आउटपुट,

एसटीडी :: कमाल (एबीएस (व्हेरे [i] [व्हेरे [i]. आकार () - 1] - किमान),

एबीएस (जास्तीत जास्त-व्हेरे [i] [0])))

भिन्न अ‍ॅरेच्या शेवटच्या आणि पहिल्या घटकामधील फरक

0 आणि 6 आणि त्यापैकी 6 हा जास्तीत जास्त फरक आहे तर आउटपुट 6 होईल

आणि परत 6.

अ‍ॅरेमध्ये जास्तीत जास्त अंतर

अ‍ॅरेमध्ये जास्तीत जास्त अंतरासाठी सी ++ प्रोग्राम

#include <iostream>
#include<vector>
#include<cstdlib>
using namespace std;
int getMaxDistance(vector<vector <int>> varray)
{
    int output=0;
    int minimum=varray[0][0];
    int maximum=varray[0][varray[0].size()-1];

    for(int i = 1 ; i < varray.size() ; i++ )
    {
        output=std::max(output, std::max( abs( varray[i][varray[i].size()-1] - minimum ), abs(maximum-varray[i][0]) ) );
        minimum=std::min( minimum, varray[i][0] );
        maximum=std::max( maximum, varray[i][varray[i].size()-1]);
    }
    return output;

}
int main()
{
    vector<vector<int>> vec= {{0,2,4},{2,3,4},{4,5,6}};
    cout<<"Maximum distance is:"<<getMaxDistance(vec);
    return 0;
}
Maximum distance is: 6

अ‍ॅरेमध्ये जास्तीत जास्त अंतरासाठी जावा प्रोग्राम

import java.util.*;
import java.io.*;

class maximumDistance
{
    public static int getMaxDistance(int array[][])
    {
        int output=0;
        int minimum=array[0][0];
        int maximum=array[0][array[0].length-1];

        for(int i = 1 ; i < array.length ; i++ )
        {
            output=Math.max(output, Math.max(Math.abs( array[i][array[i].length-1] - minimum ), Math.abs(maximum-array[i][0]) ) );
            minimum=Math.min( minimum, array[i][0] );
            maximum=Math.max( maximum, array[i][array[i].length-1]);
        }
        return output;

    }
    public static void main(String args[])
    {
        int arr[][]= {{0,2,4},{2,3},{4,5,6}};
        System.out.println("Maximum distance is:"+(getMaxDistance(arr)));
    }
}
Maximum distance is: 6

गुंतागुंत विश्लेषण

वेळ कॉम्प्लेक्सिटी

O (n) जेथे n अ‍ॅरे मधील घटकांची संख्या आहे. कारण आम्ही फक्त 2 डी अ‍ॅरे किंवा मॅट्रिक्सच्या ओळीवरुन फिरत होतो. परंतु आम्ही कधीही आमच्या इनपुट मॅट्रिक्सच्या स्तंभांवर नजर ठेवली नाही.

स्पेस कॉम्प्लेक्सिटी

ओ (1) जसे की आम्ही सतत जागा वापरली आहे. आपण केवळ स्थिर संख्या वापरली आहे. दृष्टिकोनात निरंतर जागेची जटिलता असते.

संदर्भ