Skip to content

Commit 66574c6

Browse files
author
Ram swaroop
committed
coded + unit tested + code refactoring
1 parent 8302d6b commit 66574c6

14 files changed

+122
-13
lines changed

src/com/hackerrank/algorithms/arraysandsorting/InsertionSort1.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.ramswaroop.algorithms.arraysandsorting;
1+
package com.hackerrank.algorithms.arraysandsorting;
22

33
import java.util.Scanner;
44

src/com/hackerrank/algorithms/arraysandsorting/InsertionSort2.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.ramswaroop.algorithms.arraysandsorting;
1+
package com.hackerrank.algorithms.arraysandsorting;
22

33
import java.util.Scanner;
44

src/com/hackerrank/algorithms/arraysandsorting/IntroTutorial.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.ramswaroop.algorithms.arraysandsorting;
1+
package com.hackerrank.algorithms.arraysandsorting;
22

33
import java.util.Arrays;
44
import java.util.Scanner;

src/com/hackerrank/algorithms/arraysandsorting/LoopInvariant.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.ramswaroop.algorithms.arraysandsorting;
1+
package com.hackerrank.algorithms.arraysandsorting;
22

33
import java.util.Scanner;
44

src/com/hackerrank/algorithms/arraysandsorting/QuickSort1.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.ramswaroop.algorithms.arraysandsorting;
1+
package com.hackerrank.algorithms.arraysandsorting;
22

33
import java.util.Scanner;
44

src/com/hackerrank/algorithms/arraysandsorting/QuickSort2.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.ramswaroop.algorithms.arraysandsorting;
1+
package com.hackerrank.algorithms.arraysandsorting;
22

33
import java.util.ArrayList;
44
import java.util.List;

src/com/hackerrank/algorithms/arraysandsorting/RunningTime.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.ramswaroop.algorithms.arraysandsorting;
1+
package com.hackerrank.algorithms.arraysandsorting;
22

33
import java.util.Scanner;
44

src/com/hackerrank/algorithms/strings/AlternatingCharacters.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.ramswaroop.algorithms.strings;
1+
package com.hackerrank.algorithms.strings;
22

33
import java.util.Scanner;
44

src/com/hackerrank/algorithms/strings/PalindromeIndex.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.ramswaroop.algorithms.strings;
1+
package com.hackerrank.algorithms.strings;
22

33
import java.util.Scanner;
44

src/com/hackerrank/algorithms/strings/Pangram.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.ramswaroop.algorithms.strings;
1+
package com.hackerrank.algorithms.strings;
22

33
import java.util.Scanner;
44

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.hackerrank.algorithms.strings;
2+
3+
import java.util.Scanner;
4+
5+
/**
6+
* Created by IntelliJ IDEA.
7+
*
8+
* @author: ramswaroop
9+
* @date: 10/22/15
10+
* @time: 10:08 AM
11+
*/
12+
public class TwoStrings {
13+
14+
public static String isSubstringInBoth(String[] a) {
15+
char[] alphabets = new char[]{'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
16+
'q', 'r', 's', 't', 'u', 'v', 'x', 'y', 'z'};
17+
18+
for (int i = 0; i < alphabets.length; i++) {
19+
if (a[0].indexOf(alphabets[i]) != -1 && a[1].indexOf(alphabets[i]) != -1) return "YES";
20+
}
21+
22+
return "NO";
23+
}
24+
25+
public static void main(String a[]) {
26+
Scanner in = new Scanner(System.in);
27+
28+
int t = Integer.parseInt(in.nextLine());
29+
String[][] input = new String[t][2];
30+
31+
for (int i = 0; i < t; i++) {
32+
input[i][0] = in.nextLine();
33+
input[i][1] = in.nextLine();
34+
}
35+
36+
for (int i = 0; i < t; i++) {
37+
System.out.println(isSubstringInBoth(input[i]));
38+
}
39+
}
40+
}

src/me/ramswaroop/backtracking/RatInAMaze.java

+22-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@
99
*/
1010
public class RatInAMaze {
1111

12+
/**
13+
* @param i
14+
* @param j
15+
* @param maze
16+
* @return
17+
*/
1218
public static boolean isValidMove(int i, int j, int[][] maze) {
1319
if (i >= 0 && i < maze.length && j >= 0 && j < maze[0].length && maze[i][j] == 1) {
1420
return true;
@@ -17,6 +23,15 @@ public static boolean isValidMove(int i, int j, int[][] maze) {
1723
}
1824
}
1925

26+
/**
27+
* @param i
28+
* @param j
29+
* @param xMoves
30+
* @param yMoves
31+
* @param maze
32+
* @param path
33+
* @return
34+
*/
2035
public static boolean isValidPath(int i, int j, int[] xMoves, int[] yMoves, int[][] maze, int[][] path) {
2136

2237
if (i == maze.length - 1 && j == maze[0].length - 1) return true;
@@ -38,13 +53,18 @@ public static boolean isValidPath(int i, int j, int[] xMoves, int[] yMoves, int[
3853
return false;
3954
}
4055

56+
/**
57+
* @param i is the start row
58+
* @param j is the start column
59+
* @param maze is the maze in which a path has to be found (1 denotes rat can traverse and 0 denotes it cannot)
60+
*/
4161
public static void printMazePath(int i, int j, int[][] maze) {
4262

4363
int[] xMoves = {0, 1};
4464
int[] yMoves = {1, 0};
45-
65+
4666
int[][] path = new int[maze.length][maze[0].length];
47-
67+
4868
System.out.println("Maze");
4969
System.out.println("---------------");
5070
print2DMatrix(maze);

src/me/ramswaroop/strings/SubString.java src/me/ramswaroop/strings/SubStringCheck.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* @time: 1:15 PM
99
* @see: me.ramswaroop.strings.StringRotation for a similar problem.
1010
*/
11-
public class SubString {
11+
public class SubStringCheck {
1212

1313
/**
1414
* Naive approach to determine whether string {@param s2} is a
+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package me.ramswaroop.strings;
2+
3+
/**
4+
* Created by IntelliJ IDEA.
5+
*
6+
* @author: ramswaroop
7+
* @date: 10/22/15
8+
* @time: 11:16 AM
9+
*/
10+
public class SubStrings {
11+
12+
/**
13+
* Prints all sub-strings of string {@param s} iteratively.
14+
*
15+
* @param s
16+
*/
17+
public static void printAllSubStrings(String s) {
18+
for (int i = 0; i < s.length(); i++) {
19+
for (int j = i; j < s.length(); j++) {
20+
System.out.println(s.substring(i, j + 1));
21+
}
22+
}
23+
}
24+
25+
/**
26+
* Prints all sub-strings of string {@param s} recursively.
27+
*
28+
* @param s
29+
*/
30+
public static void printAllSubStringsRecursive(String s) {
31+
if (s.length() == 0) return;
32+
33+
for (int i = 1; i <= s.length(); i++) {
34+
System.out.println(s.substring(0, i));
35+
}
36+
printAllSubStrings(s.substring(1));
37+
}
38+
39+
public static void main(String a[]) {
40+
System.out.println("----Iterative----");
41+
printAllSubStrings("ram");
42+
System.out.println("--------");
43+
printAllSubStrings("");
44+
System.out.println("----Recursive----");
45+
printAllSubStringsRecursive("ram");
46+
System.out.println("--------");
47+
printAllSubStringsRecursive("");
48+
}
49+
}

0 commit comments

Comments
 (0)