Skip to content

Commit 892acf0

Browse files
committed
updated with few more topics
1 parent 3d4404e commit 892acf0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+853
-103
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
/Practice
22
.idea/
33
SummerTrainingGFG.iml
4+
out/

BinarySearchTree/BST.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import org.w3c.dom.Node;
4-
5-
import java.util.*;
6-
import java.lang.*;
7-
import java.io.*;
8-
93
/**
104
* @author Vishal Singh
115
* 22-12-2020

BinarySearchTree/BSTElementInRange.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import java.util.*;
4-
import java.lang.*;
3+
import java.util.ArrayList;
54

65
/**
76
* @author Vishal Singh

BinarySearchTree/BSTNodesInRange.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import java.util.*;
4-
import java.lang.*;
5-
import java.io.*;
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
import java.util.LinkedList;
7+
import java.util.Queue;
8+
import java.util.StringTokenizer;
69

710
/**
811
* @author Vishal Singh

BinarySearchTree/CheckBST.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import java.util.*;
4-
import java.lang.*;
5-
import java.io.*;
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
import java.util.LinkedList;
7+
import java.util.Queue;
8+
import java.util.StringTokenizer;
69

710
/**
811
* @author Vishal Singh

BinarySearchTree/ClosestElementInBST.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import java.util.*;
4-
import java.lang.*;
5-
import java.io.*;
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
import java.util.LinkedList;
7+
import java.util.Queue;
8+
import java.util.StringTokenizer;
69

710
/**
811
* @author Vishal Singh

BinarySearchTree/FixTwoNodes.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import java.nio.file.Path;
4-
import java.util.*;
5-
import java.lang.*;
6-
import java.io.*;
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
import java.util.ArrayList;
7+
import java.util.LinkedList;
8+
import java.util.Queue;
9+
import java.util.StringTokenizer;
710

811
/**
912
* @author Vishal Singh

BinarySearchTree/FloorInBST.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import java.util.*;
4-
import java.lang.*;
5-
import java.io.*;
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
import java.util.LinkedList;
7+
import java.util.Queue;
8+
import java.util.StringTokenizer;
69

710
/**
811
* @author Vishal Singh

BinarySearchTree/LevelOrderToBST.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import java.util.*;
4-
import java.lang.*;
5-
import java.io.*;
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
import java.util.StringTokenizer;
67

78
/**
89
* @author Vishal Singh

BinarySearchTree/LowestCommonAncestor.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import org.w3c.dom.Node;
4-
5-
import java.util.*;
6-
import java.lang.*;
7-
import java.io.*;
8-
93
/**
104
* @author Vishal Singh
115
* 25-12-2020

BinarySearchTree/PairSumBST.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import java.util.*;
4-
import java.lang.*;
3+
import java.util.HashSet;
54

65
/**
76
* @author Vishal Singh

BinarySearchTree/TopView.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import java.util.*;
4-
import java.lang.*;
5-
import java.io.*;
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
import java.util.LinkedList;
7+
import java.util.Queue;
8+
import java.util.StringTokenizer;
9+
import java.util.TreeMap;
610

711
/**
812
* @author Vishal Singh

BinarySearchTree/VerticalTraversal.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package SummerTrainingGFG.BinarySearchTree;
22

3-
import CompetitvePractive450Set.Array;
4-
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
56
import java.util.*;
6-
import java.lang.*;
7-
import java.io.*;
87

98
/**
109
* @author Vishal Singh

DSU/ConnectedComponent.java

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
package DSU;
2+
3+
import java.util.ArrayList;
4+
5+
/**
6+
* @author Vishal Singh
7+
* 7/24/2021
8+
*/
9+
public class ConnectedComponent {
10+
static class Solution {
11+
12+
class DSU {
13+
14+
int[] parent, rank;
15+
int n;
16+
17+
DSU(int n) {
18+
parent = new int[n];
19+
rank = new int[n];
20+
}
21+
22+
public void union(int x, int y) {
23+
24+
int xx = find(x);
25+
int yy = find(y);
26+
27+
if (xx == yy) return;
28+
29+
if (rank[xx] < rank[yy]) {
30+
parent[xx] = yy;
31+
} else if (rank[yy] < rank[xx]) {
32+
parent[yy] = xx;
33+
} else {
34+
parent[yy] = xx;
35+
rank[xx]++;
36+
}
37+
38+
}
39+
40+
public int find(int i) {
41+
if (parent[i] == i) return i;
42+
parent[i] = find(parent[i]);
43+
return parent[i];
44+
}
45+
46+
}
47+
48+
public int detectCycle(int V, ArrayList<ArrayList<Integer>> adj) {
49+
DSU d = new DSU(V);
50+
boolean[] vis = new boolean[V];
51+
boolean cycle = false;
52+
for (int u = 0; u < adj.size(); u++) {
53+
boolean cycleFound = false;
54+
for (int v : adj.get(u)) {
55+
if (!vis[u] || !vis[v]) {
56+
vis[v] = true;
57+
vis[u] = true;
58+
int vv = d.find(v);
59+
int uu = d.find(u);
60+
if (vv == uu) {
61+
cycle = true;
62+
cycleFound = true;
63+
break;
64+
}
65+
else {
66+
d.union(v,u);
67+
}
68+
}
69+
}
70+
if (cycleFound) break;
71+
}
72+
return cycle ? 1 : 0;
73+
}
74+
}
75+
}

DynamicProgramming/LongestCommonSubsequence.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package SummerTrainingGFG.DynamicProgramming;
22

3-
import java.lang.reflect.Array;
43
import java.util.Arrays;
54

65
/**

Graph/DetectCycleDirected.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package SummerTrainingGFG.Graph;
22

3-
import java.util.*;
4-
import java.lang.*;
5-
import java.io.*;
3+
import java.util.ArrayList;
64

75
/**
86
* @author Vishal Singh

Graph/DetectCycleKahnAlgo.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package SummerTrainingGFG.Graph;
22

3-
import java.util.*;
4-
import java.lang.*;
5-
import java.io.*;
3+
import java.util.ArrayDeque;
4+
import java.util.ArrayList;
5+
import java.util.Queue;
66
/**
77
* @author Vishal Singh
88
* 07-02-2021 */

Graph/DetectCycleUndirected.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package SummerTrainingGFG.Graph;
22

3-
import java.util.*;
4-
import java.lang.*;
5-
import java.io.*;
3+
import java.util.ArrayList;
4+
import java.util.LinkedList;
65

76
/**
87
* @author Vishal Singh

Graph/FindPathExists.java

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package SummerTrainingGFG.Graph;
2+
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
7+
/**
8+
* @author Vishal Singh
9+
* 06-03-2021
10+
*/
11+
public class FindPathExists {
12+
public static void main(String[] args) throws IOException {
13+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
14+
int T = Integer.parseInt(br.readLine().trim());
15+
while (T-- > 0) {
16+
int n = Integer.parseInt(br.readLine().trim());
17+
int[][] grid = new int[n][n];
18+
for (int i = 0; i < n; i++) {
19+
String[] S = br.readLine().trim().split(" ");
20+
for (int j = 0; j < n; j++) {
21+
grid[i][j] = Integer.parseInt(S[j]);
22+
}
23+
}
24+
Solution obj = new Solution();
25+
boolean ans = obj.is_Possible(grid);
26+
if (ans)
27+
System.out.println("1");
28+
else
29+
System.out.println("0");
30+
}
31+
}
32+
33+
static class Solution {
34+
public boolean dfs(int[][] grid,int i ,int j,int n){
35+
if (i<0 || i==n || j<0 || j ==n || grid[i][j]==0){
36+
return false;
37+
}
38+
if (grid[i][j] == 2){
39+
return true;
40+
}
41+
42+
grid[i][j] = 0;
43+
return dfs(grid,i-1,j,n) ||
44+
dfs(grid,i,j+1,n) ||
45+
dfs(grid,i,j-1,n) ||
46+
dfs(grid,i+1,j,n);
47+
}
48+
public boolean is_Possible(int[][] grid) {
49+
int i,j=0;
50+
label1: for (i = 0; i < grid.length; i++) {
51+
for (j = 0; j < grid.length; j++) {
52+
if (grid[i][j] == 1){
53+
break label1;
54+
}
55+
}
56+
}
57+
return dfs(grid, i, j, grid.length);
58+
}
59+
}
60+
}
61+
62+

0 commit comments

Comments
 (0)