Skip to main content

Spiral Display

 1. You are given a number n, representing the number of rows.

2. You are given a number m, representing the number of columns.
3. You are given n*m numbers, representing elements of 2d array a.
4. You are required to traverse and print the contents of the 2d array in form of a spiral.
Note - Please check the sample output for details.
Input Format
A number n
A number m
e11
e12..
e21
e22..
.. n * m number of elements
Output Format
e11
e21
..
en1
en2
en3
..
enm
e(n-1)m
..
e1m
e1(m-1)
..
e12
e22
e32
..
Constraints
1 <= n <= 10^2
1 <= m <= 10^2
-10^9 <= e1, e2, .. n * m elements <= 10^9
Sample Input
3
5
11
12
13
14
15
21
22
23
24
25
31
32
33
34
35
Sample Output
11
21
31
32
33
34
35
25
15
14
13
12
22
23
24
import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) throws Exception {
        // write your code here
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[][] A = new int[n][m];
        
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
                A[i][j] = sc.nextInt();
        
        int minRow = 0, minCol = 0, maxRow = n-1, maxCol = m-1, totalEle = n*m,count = 0;
        while(totalEle > count){
            for(int i=minRow;i<=maxRow && count < totalEle;i++){
                System.out.println(A[i][minCol]);
                ++count;
            }
            ++minCol;
            
            for(int i=minCol;i<=maxCol && count < totalEle;i++){
                System.out.println(A[maxRow][i]);
                ++count;
            }
            --maxRow;
            
            for(int i=maxRow;i>=minRow && count < totalEle;i--){
                System.out.println(A[i][maxCol]);
                ++count;
            }
            --maxCol;
            
            for(int i=maxCol;i>=minCol && count < totalEle;i--){
                System.out.println(A[minRow][i]);
                ++count;
            }
            ++minRow;
        }
    }

}

Comments

Popular posts from this blog

Classes and Objects | Accenture TFA

  Question  1 Correct Mark 1.00 out of 1.00 Flag question Question text ___ and _____ are the access specifiers that can be applied to top level Class. Select one or more: public   protected default   private Feedback Your answer is correct. The correct answers are: default, public Question  2 Correct Mark 1.00 out of 1.00 Flag question Question text class Sample{      private double num = 100;    private int square(int a){ return a*a;    } }   public class Test{    public static void main(String args[]){   Sample obj = new Sample();   System.out.println(obj.num);  System.out.println(obj.square(10));    }   } Select one: Compile time error   Run time error Executes but no output 100 Feedback Your answer is correct. The correct answer is: Compile time error Question  3 Correct Mark 1.00 out of 1.00 Flag question Question text Choose the ...

UPSEE Counselling 2018 Round 3

UPSEE Counselling 2018 Round 3, AKTU/UPTU Counselling, Started – Register Here UPSEE 2018 Seat Allotment Result (Round 3)  is releasing on  13th July 2018 . It will be conducted through online mode. The university conducts a state level examination in name of Uttar Pradesh State Entrance Exam (UPSEE) for providing admission to the UG & PG courses in the field of engineering, management, etc.  You can get complete information about AKTU Counselling 2018. Here, we are providing details about the schedule, procedure, admission, etc. UPSEE Counselling 2018 –  Seat Allotment Round 2 Result on 10th July Exclusive:  UPSEE 2018 Seat Allotment Result (Round 3) is releasing on 17th July 2018.  Link will be provided here. UPSEE 2018 Counselling User Manual for candidates has been released now.   Click here to view user manual. Click here to view UPSEE 2018 Counselling schedule. Physical reporting will be started on 20th July....

Spot Round

Never ever give up !!! “Life is a journey with up and downs” Feeling happy when everything is right is natural, but feeling sad for something gone wrong can’t be justified. Many say miracle doesn’t happen, but a miracle is something that doesn’t have logic… Do you believe in miracles? So, stop seeing logic everywhere and then you can feel miracles. I want to share something… During my counselling for Bachelor’s degree till last round, I was unable to get a seat in college I want to study in. It felt like everything has gone. Then I heard about Spot Round. I was not sure to secure a seat. But I went there to try my luck, in a hope of a miracle. So, I kept ready all my necessary documents made a DD for this round. While I was going to reporting centre my mind was full of the variety of thoughts. I made a mistake and I was little late for reporting. So, I rushed up through check-in and register myself for this special round. Then I went to a hall where everyone ...