From be5fcb48d2d59e548105d6a25a64ff38ceef475e Mon Sep 17 00:00:00 2001 From: Anzil Mufti <76424041+anzil-mufti@users.noreply.github.com> Date: Wed, 25 Oct 2023 17:49:49 +0000 Subject: [PATCH] Added few java codes --- JAVA/DisjointSet.java | 54 +++++++++++++++++++++++++++ JAVA/GenerateParentheses.java | 25 +++++++++++++ JAVA/HouseRobber.java | 70 +++++++++++++++++++++++++++++++++++ JAVA/NQueens.java | 70 +++++++++++++++++++++++++++++++++++ 4 files changed, 219 insertions(+) create mode 100644 JAVA/DisjointSet.java create mode 100644 JAVA/GenerateParentheses.java create mode 100644 JAVA/HouseRobber.java create mode 100644 JAVA/NQueens.java diff --git a/JAVA/DisjointSet.java b/JAVA/DisjointSet.java new file mode 100644 index 0000000..c100e34 --- /dev/null +++ b/JAVA/DisjointSet.java @@ -0,0 +1,54 @@ + + +import java.util.HashMap; + +public class DisjointSet { + public class Node{ + int val; + int rank; + Node parent; + } + HashMap map=new HashMap<>(); + //STEP 1: CREATE SET + public void create(int v) { + Node nn=new Node(); + nn.val=v; + nn.rank=0; + nn.parent=nn; + map.put(v, nn); + + } + //STEP 2: FIND THE REPRESENATATIVE ELEMENT + public int find(int v) + { + Node n=map.get(v); + return findNode(n).val; +} + public Node findNode(Node n) + { + if(n.parent==n) + return n; + else + return findNode(n.parent); + } + //STEP 3: UNION THE NODES + public void union(int v1, int v2) + { + Node n1=map.get(v1); + Node n2=map.get(v2); + Node rn1=findNode(n1); //address + Node rn2=findNode(n2); + if(rn1.rank==rn2.rank) + { + rn1.parent=rn2; + rn2.rank=rn2.rank+1; + } + else if(rn1.rank>rn2.rank) + { + rn2.parent=rn1; //bcz isme kisi ki height nhi change hoigi + } + else { + rn1.parent=rn2; + } + } +} \ No newline at end of file diff --git a/JAVA/GenerateParentheses.java b/JAVA/GenerateParentheses.java new file mode 100644 index 0000000..3e72174 --- /dev/null +++ b/JAVA/GenerateParentheses.java @@ -0,0 +1,25 @@ + +import java.util.*; +public class GenerateParentheses { + + public static void main(String[] args) { + // TODO Auto-generated method stub + int n=3; + List list=new ArrayList<>(); + generateParentheses(n,0,0,"",list); + System.out.println(list); + } +public static void generateParentheses(int n, int open, int close, String ans, List list ) +{ + if(open==n&&close==n) + { +// System.out.println(ans); + list.add(ans); + return; + } + if(open=arr.length) + { + return 0; + } + + if(dp[ind]!=-1) + return dp[ind]; + int rob=arr[ind]+house(ind+2,arr,dp); + int dntrob=house(ind+1,arr,dp); + dp[ind]= Math.max(rob,dntrob); + return dp[ind]; + } + public static int houseTD(int ind, int[] arr, int[] dp) + { + if(ind<0) + return 0; + if(dp[ind]!=-1) + return dp[ind]; + int rob=arr[ind]+house(ind-2,arr,dp); + int dntrob=house(ind-1,arr,dp); + dp[ind]= Math.max(rob,dntrob); + return dp[ind]; + } + public static int houseBU(int[] arr) + { + int[] dp=new int[arr.length]; + dp[0]=arr[0]; + dp[1]=Math.max(arr[0], arr[1]); + for(int i=2;i