न्यूनतम चाल बराबर एर्रे एलिमेन्ट्स लेटकोड समाधानमा


कठिनाई तह सजिलो
बारम्बार सोधिन्छ अमेजन एप्पल Coursera तथ्य वास्तवमा जेपी मर्गन गणित माइक्रोसफ्ट Swiggy
ड्र्रब्रिज गणित

समस्या वक्तव्य

यस समस्यामा, हामीलाई एक दिइन्छ array पूर्णांकको। साथै, हामीलाई यो एर्रेमा अपरेसनहरूको केहि सेट गर्न अनुमति छ। एउटा अपरेसनमा, हामी "n - १ ″ (कुनै पनि बाहेक सबै तत्वहरू) एरे तत्वहरू १ द्वारा बढाउन सक्छौं।

हामीले सबै एर्रे एलिमेन्टहरू समान बनाउन आवश्यक न्यूनतम अपरेशनहरू खोज्नु पर्छ।

उदाहरणका

Array = {1 , 2 , 3}
3
Array = {1 , 1 , 1}
0

 

न्यूनतम चाल बराबर एर्रे एलिमेन्ट्स लेटकोड समाधानमादृष्टिकोण (गणित)

यस समस्यामा, कठिनाइ भनेको नम्बरहरूको सेट छनौट गर्न को लागी तपाईले बढाउन चाहानुहुन्छ १ एरे सबै एरे एलिमेन्टहरू बराबर गर्न। यद्यपि एर्रेमा 'N - १' एलिमेन्ट्स बढाउँदै एक एरे एलिमेन्ट १ द्वारा घट्नेसँग समान छ। यो किनभने हामी फेला पार्न चाहँदैनौं कि सबै तत्वहरू बराबर भए पछि त्यसको मूल्य के हुन्छ, बरु हामी चालको संख्या पत्ता लगाउन चाहन्छौं। अब यो सहज छ किनकि हाम्रो अपरेशन एरेमा ठ्याक्कै एक एलिमेन्ट १ लाई घटाउनु हो, त्यसैले हामी एर्रेमा सबै एलिमेन्टहरूलाई एरेमा रहेको न्यूनतम एलिमेन्टमा रूपान्तरण गर्न आवश्यक छ (किनकि यसले कुनै पनि कम गर्न आवश्यक छैन। थप)।

समान एरे एलिमेन्ट्स लीटकोड समाधानमा न्यूनतम चालको लागि कार्यान्वयन

C ++ कार्यक्रम

#include <bits/stdc++.h>

using namespace std;

int minMoves(vector <int> nums) {
    int mn = *min_element(nums.begin() , nums.end()) , moves = 0;
    for(int &i : nums)
        moves += i - mn;
    return moves;
}

int main() {
    vector <int> nums = {1 , 2 , 3};
    cout << minMoves(nums) << endl;
    return 0;
}

जावा कार्यक्रम

import java.lang.*;
import java.util.*;

class min_moves {
    public static void main(String args[]) {
        int[] nums = {1 , 2 , 3};
        System.out.println(minMoves(nums));
    }

    public static int minMoves(int[] nums) {
        if(nums.length == 0)
            return 0;
        int mn = nums[0];
        for(int i = 0 ; i < nums.length ; i++) {
            mn = Math.min(mn , nums[i]);
        }

        int moves = 0;
        for(int i = 0 ; i < nums.length ; i++) {
            moves += nums[i] - mn;
        }

        return moves;
    }
}
3

न्यूनतम चालको जटिलता विश्लेषण समान एरे एलिमेन्टस लेटकोड समाधानमा

समय जटिलता

O (N), N = एर्रेको आकार। हामी एकचोटि सम्पूर्ण एर्रे पार गर्दछौं।

ठाउँ जटिलता 

O (१), हामी एर्रेमा निरन्तर मेमोरी स्पेस प्रयोग गर्दछौं।