From 44ba6c090ff9805ea124a221aa26dec6a4593fc8 Mon Sep 17 00:00:00 2001 From: ashushreyansh Date: Wed, 13 Oct 2021 16:17:06 +0530 Subject: [PATCH] hactoberfest 2021 --- JAVA/SortMatrixRowColWise.java | 47 ++++++++++++++++++++++++++++ JAVA/spiralTraverse.java | 56 ++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 JAVA/SortMatrixRowColWise.java create mode 100644 JAVA/spiralTraverse.java diff --git a/JAVA/SortMatrixRowColWise.java b/JAVA/SortMatrixRowColWise.java new file mode 100644 index 0000000..6de6e92 --- /dev/null +++ b/JAVA/SortMatrixRowColWise.java @@ -0,0 +1,47 @@ +package Matrix; + +import java.util.Arrays; +import java.util.Scanner; + +public class SortMatrixRowColWise { + + public static void main(String[] args) { + // TODO Auto-generated method stub + Scanner s = new Scanner(System.in); + int n = s.nextInt(); + int m = s.nextInt(); + int[][] arr = new int[n][m]; + for(int i=0; i TraverseSpiral(int[][] arr) { + // TODO Auto-generated method stub + ArrayList stack = new ArrayList<>(); + if (arr.length == 0) { + return stack; + } + int R = arr.length; + int C = arr[0].length; + boolean[][] chk = new boolean[R][C]; + int[] dr = { 0, 1, 0, -1 }; + int[] dc = { 1, 0, -1, 0 }; + int r = 0, c = 0, di = 0; + for (int i = 0; i < R * C; i++) { + stack.add(arr[r][c]); + chk[r][c] = true; + int cr = r + dr[di]; + int cc = c + dc[di]; + + if (0 <= cr && cr < R && 0 <= cc && cc < C && !chk[cr][cc]) { + r = cr; + c = cc; + } + else { + di = (di + 1) % 4; + r += dr[di]; + c += dc[di]; + } + } + + return stack; + } + +}