በአውቶቡስ ማቆሚያዎች መካከል ያለው ርቀት Leetcode መፍትሔ


የችግር ደረጃ ቀላል
ውስጥ በተደጋጋሚ ተጠየቀ google
ሰልፍ

ችግሩ በአውቶቡስ ማቆሚያዎች መካከል ያለው ርቀት Leetcode Solution ይሰጠናል ደርድር በአጎራባች ከተሞች መካከል ያለውን ርቀት የሚገልጹ የቁጥር ቁጥሮች። ከተሞቹ በክብ ቅደም ተከተል ይሰጣሉ ፡፡ ስለዚህ የመጨረሻው ከተማ የመጀመሪያዋ ከተማ ይከተላል ፡፡ አሁን በሁለቱ በተሰጡት ከተሞች መካከል ያለውን አነስተኛ ርቀት ለማወቅ መፈለግ አለብን ፡፡ ስለዚህ ወደ መፍትሄው ከመሄድዎ በፊት ፡፡ እስቲ ጥቂት ምሳሌዎችን እንመልከት ፡፡

በአውቶቡስ ማቆሚያዎች መካከል ያለው ርቀት Leetcode መፍትሔ

distance = [1,2,3,4], start = 0, destination = 1
1

ማብራሪያ-በክብ ቅደም ተከተል የተደረደሩ ከተሞች ከላይ በምስሉ ላይ ይታያሉ ፡፡ እዚህ በምሳሌው እኛ ከተማ 0 እንደ መነሻ ከተማ እና 1 እንደ መድረሻ ተሰጠን ፡፡ ስለዚህ ፣ ከከተማ 0 ለመጀመር እና ወደ ከተማ ለመድረስ ሁለት መንገዶች አሉ ፡፡ ወይም በቀላሉ ከከተማ 1 ወደ 0. መሄድ እንችላለን ወይም ከ 1 እስከ 0 ፣ 3 እስከ 3 ፣ 2 እስከ 2 ያለውን መንገድ መከተል እንችላለን ፡፡ አሁን ከሁለቱም መንገዶች የምንጓዝበትን ርቀት እናሰላለን እና ዝቅተኛውን ርቀት እንመልሳለን ፡፡ የመጀመሪያው መንገድ ከ 1 እስከ 0 ፣ እኛ እንድንጓዝ ይጠይቃል = 1 ፣ ሌላኛው መንገድ ደግሞ እኛ እንድንጓዝ ይፈልጋል = 1. ስለዚህ ዝቅተኛው ርቀት 9 አሃድ ነው።

distance = [1,2,3,4], start = 0, destination = 2
3

ማብራሪያ-ከላይ በምሳሌው ላይ እንዳደረግነው በሁለቱም አቅጣጫዎች ርቀቱን እናሰላለን እና ዝቅተኛውን እንመልሳለን ፡፡ ሁለቱ መንገዶች ርዝመታቸው 3 እና 7 ስለሆኑ የሁለቱን ዝቅተኛውን 3 እንመርጣለን ፡፡

በአውቶቡስ ማቆሚያዎች መካከል ያለው ርቀት አቀራረብ Leetcode Solution

በአውቶቡስ ማቆሚያዎች መካከል ያለው ርቀት Leetcode Solution ከተማ እና መድረሻ ከተማ መጀመራችን ከተሰጠ ለመጓዝ የሚያስፈልገውን ዝቅተኛ ርቀት ለመፈለግ ጠየቀ ፡፡ መድረሻውን ለመድረስ ሁለት መንገዶች ብቻ ሊኖሩ ስለሚችሉ ችግሩ ቀላል ነው ፡፡ አንደኛው ወደ ፊት ወደ ፊት እና ወደኋላ በመመለስ እና መድረሻውን ለመድረስ አቅጣጫ ከጀመርን ነው ፡፡ ከአንዱ ጉዞዎች ርቀቱን ማግኘት እንችላለን ፣ ሌላኛው ደግሞ ይህንን ርቀት ከጠቅላላው በመቀነስ በቀላሉ ይሰላል ፡፡

እስቲ አስቡ ፣ በአጠቃላይ ከከተሞች ወደሚገኙበት ከከተማ 2 እስከ 5 መሄድ ያስፈልገናል ፣ ከዚያ ወይ ከ 10 ወደ 2. ወይም ከ 5 ወደ 5 ፣ ከዚያ ከ 10 እስከ 10 እና ከዚያ ከ 1 እስከ 1 እንሄዳለን ፡፡ የሁለቱም መንገዶች አንድነት መላው ወረዳ ነው። ስለዚህ ለሌላው ጉዞ ርቀትን ለማግኘት ርቀቱን መቀነስ እንችላለን ፡፡

ኮድ

በአውቶቡስ ማቆሚያዎች መካከል ያለው ርቀት CET ኮድ Leetcode Solution

#include<bits/stdc++.h>
using namespace std;

int distanceBetweenBusStops(vector<int>& distance, int start, int destination) {
    if(start>destination)swap(start, destination);
    int total = 0, first_path = 0;
    for(int i=0;i<distance.size();i++){
        if(i>=start && i<destination)
        first_path += distance[i];
        total += distance[i];
    }
    return min(total - first_path, first_path);
}

int main(){
    vector<int> distance = {1, 2, 3, 4};
    cout<<distanceBetweenBusStops(distance, 0, 1);
}
1

በአውቶቡስ ማቆሚያዎች መካከል ያለው ርቀት የላቲኮድ መፍትሔ የጃቫ ኮድ

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

class Main
{
  public static int distanceBetweenBusStops(int[] distance, int start, int destination) {
        if(start>destination){
            int t = start;
            start = destination;
            destination = t;
        }
        int total = 0, first_path = 0;
        for(int i=0;i<distance.length;i++){
            if(i>=start && i<destination)
            first_path += distance[i];
            total += distance[i];
        }
        return Math.min(total - first_path, first_path);
    }
    
  public static void main (String[] args) throws java.lang.Exception
  {
    int[] distance = {1, 2, 3, 4};
    System.out.println(distanceBetweenBusStops(distance, 0, 1));
  }
}
1

ውስብስብነት ትንተና

የጊዜ ውስብስብነት

ኦ (ኤን) ፣ N የት ከተሞች ብዛት ነው ፡፡ በሁሉም ከተሞች ውስጥ መጓዝ ስለነበረብን ፡፡ የጊዜ ውስብስብነቱ መስመራዊ ነው ፡፡

የቦታ ውስብስብነት

ኦ (1) ፣ እኛ የምንጠቀምበት አንድ ነጠላ ተለዋዋጭ ብቻ ስለሆነ ፡፡ የቦታ ውስብስብነት ቋሚ ነው።