From 33a8366fa1a63abfe131fb444b683554be440927 Mon Sep 17 00:00:00 2001 From: Sitesh Pattanaik Date: Thu, 3 Jan 2019 01:42:46 +0530 Subject: [PATCH 1/2] Adding Java Code --- day10/Java/StringPermutations.java | 54 +++++++++++++++++++++++++++ day10/README.md | 60 ++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 day10/Java/StringPermutations.java diff --git a/day10/Java/StringPermutations.java b/day10/Java/StringPermutations.java new file mode 100644 index 00000000..e5691c6c --- /dev/null +++ b/day10/Java/StringPermutations.java @@ -0,0 +1,54 @@ +/** + * @date 03/01/19 + * @author spattk (Sitesh Pattanaik) + */ + +import java.util.*; + +class StringPermutations { + + static void printArr(char[] arr){ + for(char x : arr){ + System.out.print(x); + } + } + + static void printAllPermutationsUtil(String str, boolean[] visited, char[] res, int index){ + + if(index==str.length()) + { + printArr(res); + System.out.println(); + return; + } + + for(int i=0;i Date: Sat, 5 Jan 2019 19:31:41 +0530 Subject: [PATCH 2/2] Adding Java Code --- day11/Java/LCSubstring.java | 51 +++++++++++++++++++++++++++++++++ day11/README.md | 56 +++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 day11/Java/LCSubstring.java diff --git a/day11/Java/LCSubstring.java b/day11/Java/LCSubstring.java new file mode 100644 index 00000000..c3e95dfe --- /dev/null +++ b/day11/Java/LCSubstring.java @@ -0,0 +1,51 @@ +/** + * @date 05/01/19 + * @author spattk (Sitesh Pattanaik) + */ + +import java.util.*; + +class LongestCommonSubstring +{ + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + String str1 = sc.next(); + String str2 = sc.next(); + + int n = str1.length(); + int m = str2.length(); + + int[][] dp = new int[n+1][m+1]; + + int max = 0; + int index = 0; + + for(int i=0;i<=n;i++) + { + for(int j=0;j<=m;j++) + { + if(i==0 || j==0) + dp[i][j] = 0; + + else if(str1.charAt(i-1)==str2.charAt(j-1)){ + dp[i][j] = dp[i-1][j-1] + 1; + if(max0 && temp>0) + { + result[temp-1] = str1.charAt(index-1); + index--; + temp--; + } + String str = new String(result); + System.out.println(str); + } +} \ No newline at end of file diff --git a/day11/README.md b/day11/README.md index 48d18774..17911fc6 100644 --- a/day11/README.md +++ b/day11/README.md @@ -267,6 +267,62 @@ public class longestCommonSubstring { } ``` +### [Solution](./Java/LCSubstring.java) + +```java +/** + * @date 05/01/19 + * @author spattk (Sitesh Pattanaik) + */ + +import java.util.*; + +class LongestCommonSubstring +{ + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + String str1 = sc.next(); + String str2 = sc.next(); + + int n = str1.length(); + int m = str2.length(); + + int[][] dp = new int[n+1][m+1]; + + int max = 0; + int index = 0; + + for(int i=0;i<=n;i++) + { + for(int j=0;j<=m;j++) + { + if(i==0 || j==0) + dp[i][j] = 0; + + else if(str1.charAt(i-1)==str2.charAt(j-1)){ + dp[i][j] = dp[i-1][j-1] + 1; + if(max0 && temp>0) + { + result[temp-1] = str1.charAt(index-1); + index--; + temp--; + } + String str = new String(result); + System.out.println(str); + } +} +``` + ## Python Implementation ### [Solution using dynamic programming](./Python/lcs.py)