Sort by

recency

|

946 Discussions

|

  • + 0 comments
    def flatlandSpaceStations(n, m, c):
        if n == m:
            return 0
        c = sorted(c)
        start_distance = c[0]
        end_distance = (n-1) - c[-1]
        mid_distance = None
        for i in range(len(c)-1):
            gap = c[i+1] - c[i]
            distance = gap // 2
            if mid_distance is None or distance > mid_distance:
                mid_distance = distance
                
        return max(start_distance, mid_distance or 0, end_distance)
    
  • + 0 comments

    js my solution... if (n == c.length) return 0;

    const lengthC = c.length - 1;

    c.sort((a, b) => a - b); console.log(c);

    let max = c[0]; for (let i = 0; i < lengthC; i++) { const tmp = Math.floor(c[i + 1] - (c[i + 1] + c[i]) / 2);

    if (tmp > max) max = tmp; }

    let lastOne = n - c[lengthC] - 1;

    if (lastOne > max) max = lastOne;

    console.log(max);

  • + 0 comments

    Python: My short solution…

    def flatlandSpaceStations(n, c):
        return max(
            (s := sorted(c))[0],  # dist.: 0 to 1st spaceport
            n - s[-1] - 1,  # dist.: last spaceport to n
            *map(lambda i: (s[i + 1] - s[i]) // 2,   # dist.: halfway between-
                range(len(s) - 1)))  # -each spaceport
    

    I updated my code to make it more readable. Functional solutions aren't always difficult to read.

  • + 1 comment
    static int flatlandSpaceStations(int numofcities, int[] spacestationcities) {
        int maxdistance = 0;
        for(int i=0; i<numofcities;i++) {
            int mindistance = Integer.MAX_VALUE;
            boolean hasstation=false;
            for(int j=0;j<spacestationcities.length; j++) {
                if(i==spacestationcities[j]) {
                    hasstation = true;
                    break;
                }
                if(i != spacestationcities[j]) {
                    if(Math.abs(i-spacestationcities[j]) < mindistance) {
                        mindistance = Math.abs(i-spacestationcities[j]);
                    }
                }
            }
            if(mindistance > maxdistance && !hasstation) {
                maxdistance = mindistance;
            }
        }
        return maxdistance;
    }
    
  • + 0 comments

    Here is problem solution in Python, Java, C++, C and Javascript - https://programmingoneonone.com/hackerrank-flatland-space-stations-problem-solution.html