diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 0000000..96aa27b
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,37 @@
+# This workflow will build a Java project with Maven
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
+
+name: Java CI with Maven
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up JDK 1.8
+ uses: actions/setup-java@v1
+ with:
+ java-version: 1.8
+ - name: Build with Maven
+ run: mvn -P doc
+ - name: Zip Release
+ # You may pin to the exact commit or the version.
+ # uses: TheDoctor0/zip-release@a1afcab9c664c9976ac398fa831eac67bed1eb0e
+ uses: TheDoctor0/zip-release@0.4.1
+ with:
+ # Filename for archive
+ filename: site.zip
+ # Base path for archive files
+ path: target/staging
+ - uses: actions/upload-artifact@v2
+ with:
+ name: Artifact upload
+ path: site.zip
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..305d3bd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+target
+*/.classpath
+*/.project
+*/.settings
+.settings
+.project
+.classpath
diff --git a/Add Fibonacci numbers/BruteForce.java b/Add Fibonacci numbers/BruteForce.java
deleted file mode 100644
index 2b6d686..0000000
--- a/Add Fibonacci numbers/BruteForce.java
+++ /dev/null
@@ -1,31 +0,0 @@
-import java.io.*;
-
-class BruteForce {
-
-
- static int calculateSum(int n) {
- if (n <= 0)
- return 0;
-
- int fibo[]=new int[n+1];
- fibo[0] = 0; fibo[1] = 1;
-
- // Initialize result
- int sum = fibo[0] + fibo[1];
-
- // Add remaining terms
- for (int i=2; i<=n; i++)
- {
- fibo[i] = fibo[i-1]+fibo[i-2];
- sum += fibo[i];
- }
-
- return sum;
- }
-
- public static void main(String args[]) {
- int n = 4;
- System.out.println("Sum of Fibonacci" +
- " numbers is : "+ calculateSum(n));
- }
-}
diff --git a/Add Fibonacci numbers/Efficient.java b/Add Fibonacci numbers/Efficient.java
deleted file mode 100644
index 8d3da10..0000000
--- a/Add Fibonacci numbers/Efficient.java
+++ /dev/null
@@ -1,50 +0,0 @@
-import java.io.*;
-import java.util.*;
-
-class Efficient {
- static int MAX = 1000;
-
-
- static int f[] = new int[MAX];
-
-
- static int fib(int n)
- {
- Arrays.fill(f, 0);
- // Base cases
- if (n == 0)
- return 0;
- if (n == 1 || n == 2)
- return (f[n] = 1);
-
- // If fib(n) is already computed
- if (f[n] == 1)
- return f[n];
- int k;
- if((n & 1) == 1)
- k = (n + 1) / 2 ;
- else
- k = n / 2;
-
- if((n & 1) == 1)
- f[n] = (fib(k) * fib(k) +
- fib(k - 1) * fib(k - 1));
- else
- f[n] = (2 * fib(k - 1) + fib(k)) * fib(k);
-
- return f[n];
- }
-
- static int calculateSum(int n)
- {
- return fib(n + 2) - 1;
- }
-
-
- public static void main(String args[])
- {
- int n = 4;
- System.out.println( "Sum of Fibonacci numbers is : " + calculateSum(n));
-
- }
-}
diff --git a/AddFibonacciNumbers/pom.xml b/AddFibonacciNumbers/pom.xml
new file mode 100644
index 0000000..32fcb4a
--- /dev/null
+++ b/AddFibonacciNumbers/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ AddFibonacciNumbers
+ jar
+
+ Add Fibonacci Numbers
+
+
diff --git a/AddFibonacciNumbers/src/main/java/BruteForce.java b/AddFibonacciNumbers/src/main/java/BruteForce.java
new file mode 100644
index 0000000..3a6c679
--- /dev/null
+++ b/AddFibonacciNumbers/src/main/java/BruteForce.java
@@ -0,0 +1,31 @@
+import java.io.*;
+
+public class BruteForce {
+
+
+ static int calculateSum(int n) {
+ if (n <= 0)
+ return 0;
+
+ int fibo[]=new int[n+1];
+ fibo[0] = 0; fibo[1] = 1;
+
+ // Initialize result
+ int sum = fibo[0] + fibo[1];
+
+ // Add remaining terms
+ for (int i=2; i<=n; i++)
+ {
+ fibo[i] = fibo[i-1]+fibo[i-2];
+ sum += fibo[i];
+ }
+
+ return sum;
+ }
+
+ public static void main(String args[]) {
+ int n = 4;
+ System.out.println("Sum of Fibonacci" +
+ " numbers is : "+ calculateSum(n));
+ }
+}
diff --git a/AddFibonacciNumbers/src/main/java/DPEfficient.java b/AddFibonacciNumbers/src/main/java/DPEfficient.java
new file mode 100644
index 0000000..4832b39
--- /dev/null
+++ b/AddFibonacciNumbers/src/main/java/DPEfficient.java
@@ -0,0 +1,20 @@
+import java.util.HashMap;
+import java.util.Map;
+
+public class DPEfficient {
+ Map map = new HashMap<>();
+
+ public int fib(int n) {
+ if(n <= 0) {
+ return 0;
+ } else if(n == 1 || n == 2) {
+ return 1;
+ } else if(map.containsKey(n)){
+ return map.get(n);
+ } else {
+ int answer = fib(n - 1) + fib(n - 2);
+ map.put(n, answer);
+ return answer;
+ }
+ }
+}
diff --git a/AddFibonacciNumbers/src/main/java/Efficient.java b/AddFibonacciNumbers/src/main/java/Efficient.java
new file mode 100644
index 0000000..d4baa77
--- /dev/null
+++ b/AddFibonacciNumbers/src/main/java/Efficient.java
@@ -0,0 +1,50 @@
+import java.io.*;
+import java.util.*;
+
+public class Efficient {
+ static int MAX = 1000;
+
+
+ static int f[] = new int[MAX];
+
+
+ static int fib(int n)
+ {
+ Arrays.fill(f, 0);
+ // Base cases
+ if (n == 0)
+ return 0;
+ if (n == 1 || n == 2)
+ return (f[n] = 1);
+
+ // If fib(n) is already computed
+ if (f[n] == 1)
+ return f[n];
+ int k;
+ if((n & 1) == 1)
+ k = (n + 1) / 2 ;
+ else
+ k = n / 2;
+
+ if((n & 1) == 1)
+ f[n] = (fib(k) * fib(k) +
+ fib(k - 1) * fib(k - 1));
+ else
+ f[n] = (2 * fib(k - 1) + fib(k)) * fib(k);
+
+ return f[n];
+ }
+
+ static int calculateSum(int n)
+ {
+ return fib(n + 2) - 1;
+ }
+
+
+ public static void main(String args[])
+ {
+ int n = 4;
+ System.out.println( "Sum of Fibonacci numbers is : " + calculateSum(n));
+
+ }
+}
diff --git a/Admission/pom.xml b/Admission/pom.xml
new file mode 100644
index 0000000..161c5e5
--- /dev/null
+++ b/Admission/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ Admission
+ jar
+
+ Admission
+
+
diff --git a/admission.java b/Admission/src/main/java/admission.java
similarity index 98%
rename from admission.java
rename to Admission/src/main/java/admission.java
index d4922d5..5b25cd8 100644
--- a/admission.java
+++ b/Admission/src/main/java/admission.java
@@ -49,7 +49,7 @@ public void display()
}
}
-class admission{
+public class admission{
public static void main(String arg[])
{
Scanner sc=new Scanner(System.in);
diff --git a/ArmstrongNumber/pom.xml b/ArmstrongNumber/pom.xml
new file mode 100644
index 0000000..0b88333
--- /dev/null
+++ b/ArmstrongNumber/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ ArmstrongNumber
+ jar
+
+ Armstrong-Number
+
+
diff --git a/armstrong-number/Armstrong-Number.java b/ArmstrongNumber/src/main/java/ArmstrongNum.java
similarity index 93%
rename from armstrong-number/Armstrong-Number.java
rename to ArmstrongNumber/src/main/java/ArmstrongNum.java
index 95f3045..633ace5 100644
--- a/armstrong-number/Armstrong-Number.java
+++ b/ArmstrongNumber/src/main/java/ArmstrongNum.java
@@ -1,17 +1,17 @@
import java.util.Scanner;
-class ArmstrongNum {
+public class ArmstrongNum {
/* driver function commented
public static void main(String[] args) {
-
+
Scanner kb = new Scanner(System.in);
int N = kb.nextInt();
-
+
int k = length(N);
-
+
System.out.println(isArmstrongNumber(N, k));
-
+
kb.close();
}
*/
@@ -30,16 +30,16 @@ public static int length(int N) {
public static boolean isArmstrongNumber(int N, int k) {
long powerSum = 0;
int n = N;
-
+
while (n != 0) {
int rem = n % 10;
powerSum += (int) Math.pow(rem, k);
-
+
n /= 10;
}
System.out.println(powerSum);
return (powerSum==N);
}
-
+
}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..7fbd45c
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,10 @@
+# Rules of contribution
+
+## Code contribution
+- Please make sure to add your code in the directory that makes sense, if there is no directory present please make one.
+- Please make sure to add a code that is not simply a print statement saying something random and an actual contribution
+- Add as many codes you want, every contribution welcome
+
+## ReadMe contribution
+- Please make sure that the formatting is all good and is not messy
+- No PRs just for a few typos, however feel free to make a PR listing the contributors' name who have contributed to the repository but their username is not on the ReadMe
\ No newline at end of file
diff --git a/CalculatePi/pom.xml b/CalculatePi/pom.xml
new file mode 100644
index 0000000..9e6fc49
--- /dev/null
+++ b/CalculatePi/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ CalculatePi
+ jar
+
+ Calculate Pi
+
+
diff --git a/Calculate Pi/CalculatePi.java b/CalculatePi/src/main/java/CalculatePi.java
similarity index 57%
rename from Calculate Pi/CalculatePi.java
rename to CalculatePi/src/main/java/CalculatePi.java
index 384547d..2e39338 100644
--- a/Calculate Pi/CalculatePi.java
+++ b/CalculatePi/src/main/java/CalculatePi.java
@@ -2,6 +2,16 @@
public class CalculatePi {
+ Scanner s = new Scanner(System.in);
+ double res = 0;
+
+ public CalculatePi(){
+ System.out.println("Enter the input number");
+ int n = s.nextInt();
+ res = calculate(n);
+ System.out.println(res);
+ }
+
public double calculate(int n){
double Pi = 0.0;
for (double i = 1; i < n; i++) {
@@ -15,12 +25,12 @@ public double calculate(int n){
}
public static void main(String[] args){
- System.out.println("Enter the input number");
- CalculatePi calculatePi = new CalculatePi();
- Scanner scanner = new Scanner(System.in);
- int n = scanner.nextInt();
+ CalculatePi calculatePi = new CalculatePi();
- System.out.println(calculatePi.calculate(n));
+ //System.out.println("Enter the input number");
+ //Scanner scanner = new Scanner(System.in);
+ //int n = scanner.nextInt();
+ //System.out.println(calculatePi.calculate(n));
}
}
diff --git a/Calculate Pi/ReadMe.md b/CalculatePi/src/main/java/ReadMe.md
similarity index 100%
rename from Calculate Pi/ReadMe.md
rename to CalculatePi/src/main/java/ReadMe.md
diff --git a/CodechefQuestions/README.md b/CodechefQuestions/README.md
new file mode 100644
index 0000000..b098f40
--- /dev/null
+++ b/CodechefQuestions/README.md
@@ -0,0 +1,3 @@
+I have renamed some of the files during refactoring:
+- ArrSort(Codechef) to SortExample to adhere to java naming convention
+- Zomcav(Codechef) to Zomcav to adhere to java naming convention
diff --git a/CodechefQuestions/pom.xml b/CodechefQuestions/pom.xml
new file mode 100644
index 0000000..8273a40
--- /dev/null
+++ b/CodechefQuestions/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ CodechefQuestions
+ jar
+
+ Codechef Questions
+
+
diff --git a/FANCY.java b/CodechefQuestions/src/main/java/Codechef.java
similarity index 96%
rename from FANCY.java
rename to CodechefQuestions/src/main/java/Codechef.java
index 161e4c9..7c88d0a 100644
--- a/FANCY.java
+++ b/CodechefQuestions/src/main/java/Codechef.java
@@ -5,7 +5,7 @@
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
-class Codechef
+public class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
diff --git a/CodechefQuestions/src/main/java/EOEO.java b/CodechefQuestions/src/main/java/EOEO.java
new file mode 100644
index 0000000..6c79342
--- /dev/null
+++ b/CodechefQuestions/src/main/java/EOEO.java
@@ -0,0 +1,62 @@
+/*Question:
+As usual, Tom and Jerry are fighting. Tom has strength TS and Jerry has strength JS. You are given TS and your task is to find the number of possible values of JS such that Jerry wins the following game.
+
+The game consists of one or more turns. In each turn:
+
+If both TS and JS are even, their values get divided by 2 and the game proceeds with the next turn.
+If both TS and JS are odd, a tie is declared and the game ends.
+If TS is even and JS is odd, Tom wins the game.
+If TS is odd and JS is even, Jerry wins the game.
+Find the number of possible initial values of JS such that 1≤JS≤TS, there is no tie and Jerry wins the game.
+
+Input
+The first line of the input contains a single integer T denoting the number of test cases. The description of T test cases follows.
+The first and only line of each test case contains a single integer TS.
+Output
+For each test case, print a single line containing one integer ― the number of values of JS such that Jerry wins the game.
+
+Constraints
+1≤T≤105
+1≤TS≤1018
+Subtasks
+Subtask #1 (20 points): T,TS≤100
+Subtask #2 (80 points): original constraints
+
+Example Input
+2
+1
+11
+Example Output
+0
+5
+Explanation
+Example case 1: We must have JS=TS=1, but in this case, the game ends and a tie is declared in the first turn.
+
+Example case 2: If JS∈{2,4,6,8,10}, then JS is even and TS is odd, so Jerry wins the game in the first turn. Any odd value of JS leads to a tie instead.
+*/
+
+//Solution:
+
+import java.util.*;
+import java.lang.*;
+import java.io.*;
+
+/* Name of the class has to be "Main" only if the class is public. */
+class EOEO
+{
+ public static void main (String[] args) throws java.lang.Exception
+ {
+ // your code goes here
+ BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
+ int T=Integer.parseInt(br.readLine());
+ for(int i=0;i map = new HashMap();
+ int count = 0;
+ for (int i = 0; i < n; i++) {
+ if (map.get(b[i]) == null)
+ map.put(b[i], 1);
+ else {
+ count = map.get(b[i]);
+ count++;
+ map.put(b[i], count);
+ }
+ }
+ for (int i = 0; i < n; i++) {
+ if (!map.containsKey(c[i]))
+ return false;
+ if (map.get(c[i]) == 0)
+ return false;
+
+ count = map.get(c[i]);
+ --count;
+ map.put(c[i], count);
+ }
+ return true;
+ }
+
+ public static void increment(int[] arr, query[] q_arr,
+ int n, int m, int d)
+ {
+ int[] sum = new int[n];
+ for (int i = 0; i < m; i++)
+ {
+ sum[q_arr[i].start] += d;
+ if ((q_arr[i].end + 1) < n)
+ sum[q_arr[i].end + 1] -= d;
+ }
+ arr[0] += sum[0];
+ for (int i = 1; i < n; i++)
+ {
+ sum[i] += sum[i - 1];
+ arr[i] += sum[i];
+ }
+ }
+}
diff --git a/DynamicProgramming/pom.xml b/DynamicProgramming/pom.xml
new file mode 100644
index 0000000..e48ffdf
--- /dev/null
+++ b/DynamicProgramming/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ DynamicProgramming
+ jar
+
+ Dynamic Programming
+
+
diff --git a/DynamicProgramming/src/main/java/FibonacciNumber.java b/DynamicProgramming/src/main/java/FibonacciNumber.java
new file mode 100644
index 0000000..d9ed6ce
--- /dev/null
+++ b/DynamicProgramming/src/main/java/FibonacciNumber.java
@@ -0,0 +1,15 @@
+class Solution {
+
+ public int fib(int n) {
+ int f[] = new int[n+1];
+ int i;
+ f[0] = 0;
+ f[1] = 1;
+
+ for (i = 2; i <= n; i++) {
+ f[i] = f[i-1] + f[i-2];
+ }
+
+ return f[n];
+ }
+}
diff --git a/Dynammic Programming/HouseRobber.java b/DynamicProgramming/src/main/java/HouseRobber.java
similarity index 100%
rename from Dynammic Programming/HouseRobber.java
rename to DynamicProgramming/src/main/java/HouseRobber.java
diff --git a/Dynammic Programming/ReadMe.md b/DynamicProgramming/src/main/java/ReadMe.md
similarity index 100%
rename from Dynammic Programming/ReadMe.md
rename to DynamicProgramming/src/main/java/ReadMe.md
diff --git a/FindMinimumInRotatedSortedArray/pom.xml b/FindMinimumInRotatedSortedArray/pom.xml
new file mode 100644
index 0000000..ddf1643
--- /dev/null
+++ b/FindMinimumInRotatedSortedArray/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ FindMinimumInRotatedSortedArray
+ jar
+
+ Find Minimum In Rotated Sorted Array
+
+
diff --git a/FindMinimumInRotatedSortedArray/FindMinimumInRotatedSortedArray.java b/FindMinimumInRotatedSortedArray/src/main/java/FindMinimumInRotatedSortedArray.java
similarity index 100%
rename from FindMinimumInRotatedSortedArray/FindMinimumInRotatedSortedArray.java
rename to FindMinimumInRotatedSortedArray/src/main/java/FindMinimumInRotatedSortedArray.java
diff --git a/FindPrime/FindPrime.class b/FindPrime/FindPrime.class
deleted file mode 100644
index da6f1be..0000000
Binary files a/FindPrime/FindPrime.class and /dev/null differ
diff --git a/FindPrime/pom.xml b/FindPrime/pom.xml
new file mode 100644
index 0000000..717269e
--- /dev/null
+++ b/FindPrime/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ FindPrime
+ jar
+
+ Find Prime
+
+
diff --git a/FindPrime/FindPrime.java b/FindPrime/src/main/java/FindPrime.java
similarity index 100%
rename from FindPrime/FindPrime.java
rename to FindPrime/src/main/java/FindPrime.java
diff --git a/FindPrime/PrimalityTest.java b/FindPrime/src/main/java/Solution.java
similarity index 100%
rename from FindPrime/PrimalityTest.java
rename to FindPrime/src/main/java/Solution.java
diff --git a/KickStart2019/pom.xml b/KickStart2019/pom.xml
new file mode 100644
index 0000000..67d498f
--- /dev/null
+++ b/KickStart2019/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ KickStart2019
+ jar
+
+ KickStart 2019
+
+
diff --git a/KickStart2019.java b/KickStart2019/src/main/java/Solution.java
similarity index 98%
rename from KickStart2019.java
rename to KickStart2019/src/main/java/Solution.java
index accedbd..9ff6baa 100644
--- a/KickStart2019.java
+++ b/KickStart2019/src/main/java/Solution.java
@@ -1,5 +1,5 @@
import java.util.*;
-class Solution
+public class Solution
{
public static void main(String args[])
{
diff --git a/LeetCodeSolutions/pom.xml b/LeetCodeSolutions/pom.xml
new file mode 100644
index 0000000..8ab80c0
--- /dev/null
+++ b/LeetCodeSolutions/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ LeetCodeSolutions
+ jar
+
+ LeetCode Solutions
+
+
diff --git a/LeetCodeSolutions/src/main/java/MaxConsecutiveOnes.java b/LeetCodeSolutions/src/main/java/MaxConsecutiveOnes.java
new file mode 100644
index 0000000..4edce66
--- /dev/null
+++ b/LeetCodeSolutions/src/main/java/MaxConsecutiveOnes.java
@@ -0,0 +1,17 @@
+public class MaxConsecutiveOnes {
+ public int findMaxConsecutiveOnes(int[] nums) {
+ int consec=0;
+ int result=0;
+ for(int i = 0 ; i < nums.length;i++){
+ if(nums[i]==1){
+ consec++;
+ if(result
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ MatrixOperations
+ jar
+
+ Matrix Operations
+
+
diff --git a/MatrixOperations/Matrix.java b/MatrixOperations/src/main/java/Matrix.java
similarity index 100%
rename from MatrixOperations/Matrix.java
rename to MatrixOperations/src/main/java/Matrix.java
diff --git a/NoMatcher/pom.xml b/NoMatcher/pom.xml
new file mode 100644
index 0000000..c4392b7
--- /dev/null
+++ b/NoMatcher/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ NoMatcher
+ jar
+
+ No Matcher
+
+
diff --git a/NoMatcher.java b/NoMatcher/src/main/java/NoMatcher.java
similarity index 95%
rename from NoMatcher.java
rename to NoMatcher/src/main/java/NoMatcher.java
index 0428a38..0a28ed1 100644
--- a/NoMatcher.java
+++ b/NoMatcher/src/main/java/NoMatcher.java
@@ -19,7 +19,7 @@ class IndiaAssertComparer {
}
}
-class NoMatcher {
+public class NoMatcher {
public static void main(String[] a) throws NoMatchException {
IndiaAssertComparer v = new IndiaAssertComparer("America");
}
diff --git a/OTPGenerator/pom.xml b/OTPGenerator/pom.xml
new file mode 100644
index 0000000..0d5f091
--- /dev/null
+++ b/OTPGenerator/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ OTPGenerator
+ jar
+
+ OTP Generator
+
+
diff --git a/OTPGenerator/OtpGenerator.java b/OTPGenerator/src/main/java/OtpGenerator.java
similarity index 100%
rename from OTPGenerator/OtpGenerator.java
rename to OTPGenerator/src/main/java/OtpGenerator.java
diff --git a/PalindromeChecking/pom.xml b/PalindromeChecking/pom.xml
new file mode 100644
index 0000000..047123f
--- /dev/null
+++ b/PalindromeChecking/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ PalindromeChecking
+ jar
+
+ Palindrome Checking
+
+
diff --git a/Palindrome Checking/palindeome.java b/PalindromeChecking/src/main/java/Palindrome.java
similarity index 92%
rename from Palindrome Checking/palindeome.java
rename to PalindromeChecking/src/main/java/Palindrome.java
index f8d784c..2131bb1 100644
--- a/Palindrome Checking/palindeome.java
+++ b/PalindromeChecking/src/main/java/Palindrome.java
@@ -1,5 +1,5 @@
import java.io.*;
-class palindrome{
+public class Palindrome{
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the number :");
@@ -10,14 +10,14 @@ public static void main(String[] args) throws Exception {
while(n>0){
int r = n%10;
sum = (sum*10)+r;
- n=n/10;
+ n=n/10;
}
if(temp == sum){
System.out.println("The input is a palindrome number.");
}else{
System.out.println("The input is not a palindrome number.");
}
-
+
}
-}
\ No newline at end of file
+}
diff --git a/Pangram/pom.xml b/Pangram/pom.xml
new file mode 100644
index 0000000..0873c56
--- /dev/null
+++ b/Pangram/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ Pangram
+ jar
+
+ Pangram
+
+
diff --git a/Pangram/src/main/java/Pangram.java b/Pangram/src/main/java/Pangram.java
new file mode 100644
index 0000000..ef75b22
--- /dev/null
+++ b/Pangram/src/main/java/Pangram.java
@@ -0,0 +1,45 @@
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Scanner;
+
+
+public class Pangram {
+ public static void main(String[] args) {
+ char[] letters = new char[]{'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
+ 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
+
+ ArrayList charsOfSentence = new ArrayList<>();
+ Scanner in = new Scanner(System.in);
+ String sentence;
+ StringBuilder distinctStringBuilder = new StringBuilder();
+ StringBuilder lowerCaseStringBuilder = new StringBuilder();
+
+
+ System.out.println("Please give a sentence: ");
+ sentence = in.nextLine();
+
+ //seperates the non alphabetic characters
+ for (int i = 0; i < sentence.length(); i++) {
+ if (Character.isAlphabetic(sentence.charAt(i))) {
+ lowerCaseStringBuilder.append(String.valueOf(sentence.charAt(i)).toLowerCase());
+ }
+ }
+ //makes the characters lower case
+ lowerCaseStringBuilder.chars().distinct().forEach(c -> distinctStringBuilder.append((char) c));
+
+ //fills a list with all characters so they can be sorted
+ for (int i = 0; i < distinctStringBuilder.length(); i++) {
+ charsOfSentence.add(String.valueOf(distinctStringBuilder.charAt(i)));
+ }
+ Collections.sort(charsOfSentence);
+
+ if (charsOfSentence.toString().equals(Arrays.toString(letters))){
+ System.out.println("Sentence is pangram");
+ }
+
+ else {
+ System.out.println("Sentence is not pangram");
+ }
+ }
+}
diff --git a/PassGenerator/pom.xml b/PassGenerator/pom.xml
new file mode 100644
index 0000000..e5cdb6c
--- /dev/null
+++ b/PassGenerator/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ PassGenerator
+ jar
+
+ Password Generator
+
+
diff --git a/PassGenerator/PasswordGenerator.java b/PassGenerator/src/main/java/PasswordGenerator.java
similarity index 100%
rename from PassGenerator/PasswordGenerator.java
rename to PassGenerator/src/main/java/PasswordGenerator.java
diff --git a/PasswordValidationInJava/pom.xml b/PasswordValidationInJava/pom.xml
new file mode 100644
index 0000000..cf62cc5
--- /dev/null
+++ b/PasswordValidationInJava/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ PasswordValidationInJava
+ jar
+
+ Password Validation In Java
+
+
diff --git a/Password Validation in Java/Password.java b/PasswordValidationInJava/src/main/java/Password.java
similarity index 100%
rename from Password Validation in Java/Password.java
rename to PasswordValidationInJava/src/main/java/Password.java
diff --git a/PermutationOfString/pom.xml b/PermutationOfString/pom.xml
new file mode 100644
index 0000000..1859cb9
--- /dev/null
+++ b/PermutationOfString/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ PermutationOfString
+ jar
+
+ Permutation Of String
+
+
diff --git a/Permutation Of String/PermutationOfString.java b/PermutationOfString/src/main/java/PermutationOfString.java
similarity index 94%
rename from Permutation Of String/PermutationOfString.java
rename to PermutationOfString/src/main/java/PermutationOfString.java
index e804117..20c4087 100644
--- a/Permutation Of String/PermutationOfString.java
+++ b/PermutationOfString/src/main/java/PermutationOfString.java
@@ -1,5 +1,5 @@
-public class PermutationofString {
+public class PermutationOfString {
public static void main(String[] args) {
// Given an input string to return all possible permuations in a string Array
@@ -24,7 +24,7 @@ private static String[] permutationOfString(String input) {
+ current.substring(j);
k++;
}
-
+
}
return ans;
}
@@ -32,7 +32,7 @@ private static void print(String[] result) {
for(String s: result) {
System.out.println(s);
}
-
+
}
diff --git a/README.md b/README.md
index 3ebd519..4a0ef45 100644
--- a/README.md
+++ b/README.md
@@ -3,24 +3,45 @@ Any amazing :fire: code you may think of in Java, let's compile all of them here
# Contents
-1. Snake Game Applet
-2. Add Fibonacci numbers
-3. Matrix Operations
-4. Tree
-5. Permutation of a string
-6. Palindrome number checking
-7. OTP Generator
-8. Simple-DES encryption algorithm
-9. Calculate Pi
-10. Dynammic Programming
-11. FindMinimumRotatedSortedArray
-12. Find Prime
-13. Pass Generator
-14. NoMatcher.java
-15. Sorting Algorithms (BubbleSort)
+1. Add Fibonacci numbers
+2. Armstrong number
+3. Calculate Pi
+4. Class usage questions
+5. Codechef questions
+6. Dynammic Programming
+7. Find Minimum Rotated Sorted Array
+8. Find Prime
+9. Kickstart questions
+10. LeetCode Solutions
+11. Matrix Operations
+12. OTP Generator
+13. Palindrome checking
+14. Pass Generator
+15. Password validation in Java
+16. Permutation of string
+17. Random interview qustions
+18. Simple DES encryption algorithm
+19. Snake game applet
+20. Sorting algorithms
+21. Steganography
+22. Towers of Hanoi
+23. Tree
+# Compiling projects
+This project is organized according to the convention of Maven project.
+Make sure you have apache maven installed.
+The default maven goal is `mvn clean install` however you may just run mvn to compile at the project level, or at the module level.
+```shell
+~/checkouts/Let-Us-Java >>> mvn
+```
+# Documentation
+To generate the documentation, you may use doc profile when running maven. It will perform maven goal `mvn site:site site:stage`. Find the generated document in ./target/staging/ directory
+
+```shell
+~/checkouts/Let-Us-Java >>> mvn -P doc
+```
# Contributors
- [DudeHere1](https://github.com/DudeHere1)
@@ -33,3 +54,5 @@ Any amazing :fire: code you may think of in Java, let's compile all of them here
- [Avhijit-codeboy](https://github.com/Avhijit-codeboy)
- [Utsav1999](https://github.com/Utsav1999)
- [RasmusKnothNielsen](https://github.com/RasmusKnothNielsen)
+- [mKittyD](https://github.com/mKittyD)
+- [fazreil](https://github.com/fazreil)
diff --git a/Random interview questions/Top K frequent/ReadMe.md b/Random interview questions/Top K frequent/ReadMe.md
new file mode 100644
index 0000000..ea75e6b
--- /dev/null
+++ b/Random interview questions/Top K frequent/ReadMe.md
@@ -0,0 +1,4 @@
+# Question description
+
+List the top k times frequently appearing numbers in an array. Example:
+[1,1,1,2,2,3] and k = 2 => [1,2]
\ No newline at end of file
diff --git a/Random interview questions/Top K frequent/TopKFrequent.java b/Random interview questions/Top K frequent/TopKFrequent.java
new file mode 100644
index 0000000..e3547d5
--- /dev/null
+++ b/Random interview questions/Top K frequent/TopKFrequent.java
@@ -0,0 +1,48 @@
+package Random interview questions.Top K frequent;
+import java.util.*;
+
+public class TopKFrequentElements {
+
+ public List topKFrequent(int[] nums, int k) {
+ Map map = new HashMap<>();
+
+ for(int num : nums){
+ if(map.containsKey(num))
+ map.put(num, map.get(num) + 1);
+ else
+ map.put(num, 1);
+ }
+
+ ArrayList[] arr = new ArrayList[nums.length + 1];
+
+ for(Map.Entry entry : map.entrySet()){
+ int index = entry.getValue();
+
+ if(arr[index] == null){
+ arr[index] = new ArrayList<>();
+ }
+
+ arr[index].add(entry.getKey());
+ }
+
+ List list = new ArrayList<>();
+
+ for(int i = arr.length - 1; i >= 0; i--){
+ if(list.size() == k)
+ break;
+
+ if(arr[i] != null){
+ list.addAll(arr[i]);
+ }
+ }
+
+ return list;
+ }
+
+ public static void main(String[] args){
+ TopKFrequentElements topKFrequentElements = new TopKFrequentElements();
+
+ System.out.println(topKFrequentElements.topKFrequent(new int[]{1,1,1,2,2,3}, 2).toString());
+ }
+}
+
diff --git a/SimpleDESEncryptionAlgorithm/pom.xml b/SimpleDESEncryptionAlgorithm/pom.xml
new file mode 100644
index 0000000..2c4658a
--- /dev/null
+++ b/SimpleDESEncryptionAlgorithm/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ SimpleDESEncryptionAlgorithm
+ jar
+
+ Simple DES Encryption Algorithm
+
+
diff --git a/Simple DES Encryption Algorithm/S_Des.java b/SimpleDESEncryptionAlgorithm/src/main/java/S_Des.java
similarity index 100%
rename from Simple DES Encryption Algorithm/S_Des.java
rename to SimpleDESEncryptionAlgorithm/src/main/java/S_Des.java
diff --git a/SnakeGameApplet/pom.xml b/SnakeGameApplet/pom.xml
new file mode 100644
index 0000000..c3cfe5c
--- /dev/null
+++ b/SnakeGameApplet/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ SnakeGameApplet
+ jar
+
+ Snake Game Applet
+
+
diff --git a/Snake Game Applet/Direction.java b/SnakeGameApplet/src/main/java/Direction.java
similarity index 100%
rename from Snake Game Applet/Direction.java
rename to SnakeGameApplet/src/main/java/Direction.java
diff --git a/Snake Game Applet/SnakeAppletCode.java b/SnakeGameApplet/src/main/java/SnakeAppletCode.java
similarity index 100%
rename from Snake Game Applet/SnakeAppletCode.java
rename to SnakeGameApplet/src/main/java/SnakeAppletCode.java
diff --git a/Snake Game Applet/SnakeCanvas.java b/SnakeGameApplet/src/main/java/SnakeCanvas.java
similarity index 100%
rename from Snake Game Applet/SnakeCanvas.java
rename to SnakeGameApplet/src/main/java/SnakeCanvas.java
diff --git a/SortingAlgorithms/pom.xml b/SortingAlgorithms/pom.xml
new file mode 100644
index 0000000..660697e
--- /dev/null
+++ b/SortingAlgorithms/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ SortingAlgorithms
+ jar
+
+ Sorting Algorithms
+
+
diff --git a/Sorting Algorithms/BubbleSort.java b/SortingAlgorithms/src/main/java/BubbleSort.java
similarity index 97%
rename from Sorting Algorithms/BubbleSort.java
rename to SortingAlgorithms/src/main/java/BubbleSort.java
index 1bc6c15..1bd55e5 100644
--- a/Sorting Algorithms/BubbleSort.java
+++ b/SortingAlgorithms/src/main/java/BubbleSort.java
@@ -1,7 +1,7 @@
/* Bubblesort algorithm in Java
@Author: Rasmus Knoth Nielsen
*/
-class BubbleSort
+public class BubbleSort
{
// Method that implements the bubblesort algorithm
void bubbleSort(int arr[])
@@ -37,4 +37,5 @@ public static void main(String args[])
sort.bubbleSort(arr);
System.out.println("Array after being sorted:");
sort.printArray(arr);
- }
\ No newline at end of file
+ }
+}
diff --git a/SortingAlgorithms/src/main/java/MergeSort.java b/SortingAlgorithms/src/main/java/MergeSort.java
new file mode 100644
index 0000000..3b1f79a
--- /dev/null
+++ b/SortingAlgorithms/src/main/java/MergeSort.java
@@ -0,0 +1,66 @@
+class MergeSort {
+ private void merge(int arr[], int l, int m, int r) {
+ int n1 = m - l + 1;
+ int n2 = r - m;
+ int L[] = new int[n1];
+ int R[] = new int[n2];
+
+ for (int i = 0; i < n1; ++i)
+ L[i] = arr[l + i];
+
+ for (int j = 0; j < n2; ++j)
+ R[j] = arr[m + 1 + j];
+
+ int i = 0, j = 0;
+
+ int k = l;
+ while (i < n1 && j < n2) {
+ if (L[i] <= R[j]) {
+ arr[k] = L[i];
+ i++;
+ }
+ else {
+ arr[k] = R[j];
+ j++;
+ }
+ k++;
+ }
+
+ while (i < n1) {
+ arr[k] = L[i];
+ i++;
+ k++;
+ }
+
+ while (j < n2) {
+ arr[k] = R[j];
+ j++;
+ k++;
+ }
+ }
+
+ public void sort(int arr[], int l, int r) {
+ if (l < r) {
+ int m = (l + r) / 2;
+ sort(arr, l, m);
+ sort(arr, m + 1, r);
+ merge(arr, l, m, r);
+ }
+ }
+
+ public static void printArray(int arr[]) {
+ int n = arr.length;
+ for (int i = 0; i < n; ++i)
+ System.out.print(arr[i] + " ");
+ System.out.println();
+ }
+
+ public static void main(String args[]) {
+ int arr[] = { 12, 11, 13, 5, 6, 7 };
+ printArray(arr);
+
+ MergeSort ob = new MergeSort();
+ ob.sort(arr, 0, arr.length - 1);
+ printArray(arr);
+ }
+}
diff --git a/Stacks/pom.xml b/Stacks/pom.xml
new file mode 100644
index 0000000..4e797e5
--- /dev/null
+++ b/Stacks/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ Stacks
+ jar
+
+ Stacks
+
+
diff --git a/Stacks/src/main/java/StackExceptionHandling.java b/Stacks/src/main/java/StackExceptionHandling.java
new file mode 100644
index 0000000..b985457
--- /dev/null
+++ b/Stacks/src/main/java/StackExceptionHandling.java
@@ -0,0 +1,54 @@
+// Stack implementation using exception handling to manage underflow and overflow conditions
+class StackException extends Exception {
+
+ StackException( String message)
+ {
+ super(message);
+ }
+}
+
+class ArrayStack {
+ public static int[] item;
+ public static int stackTop;
+
+ ArrayStack( )
+ {
+ item = new int[4];
+ stackTop=-1;
+ }
+
+ static void push(int x) throws StackException {
+ if (stackTop==item.length-1) {
+ throw new StackException("Stack overflow");
+ }
+ stackTop++;
+ item[stackTop] = x;
+ }
+
+ static void pop( ) throws StackException {
+ int returnItem;
+ if ( stackTop==-1) {
+ throw new StackException("Stack underflow");
+ }
+ returnItem = item[stackTop--];
+ System.out.println(returnItem);
+ }
+}
+
+public class StackExceptionHandling {
+ public static void main( String args[] ) {
+
+ ArrayStack s=new ArrayStack();
+ try
+ {
+ for(int i=0;i<4;i++)
+ s.push(i);
+ for(int j=0;j<5;j++)
+ s.pop();
+ }
+
+ catch ( StackException e ) {
+ System.out.println("Error detected: " + e.getMessage() );
+ }
+ }
+}
diff --git a/Steganography/LSB_decode.java b/Steganography/LSB_decode.java
new file mode 100644
index 0000000..46ad945
--- /dev/null
+++ b/Steganography/LSB_decode.java
@@ -0,0 +1,96 @@
+import java.awt.image.BufferedImage;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+//import java.util.Arrays;
+import java.util.Scanner;
+
+import javax.imageio.ImageIO;
+public class LSB_decode {
+ static final String STEGIMAGEFILE = "C:\\steg.png";
+ static final String DECODEDMESSAGEFILE = "C:\\message_dec.txt";
+
+ public static String b_msg="";
+ public static int len = 0;
+
+ public static void main(String[] args) throws Exception {
+
+ BufferedImage yImage=readImageFile(STEGIMAGEFILE);
+
+DecodeTheMessage(yImage);
+String msg="";
+//System.out.println("len is "+len*8);
+for(int i=0;i>16;
+ red = red & 255;
+ int green = currentPixel>>8;
+ green = green & 255;
+ int blue = currentPixel;
+ blue = blue & 255;
+ String x_s=Integer.toBinaryString(blue);
+ bx_msg+=x_s.charAt(x_s.length()-1);
+ len=Integer.parseInt(bx_msg,2);
+
+}
+else if(currentBitEntry>16;
+ red = red & 255;
+ int green = currentPixel>>8;
+ green = green & 255;
+ int blue = currentPixel;
+ blue = blue & 255;
+ String x_s=Integer.toBinaryString(blue);
+ b_msg+=x_s.charAt(x_s.length()-1);
+
+
+ currentBitEntry++;
+ //System.out.println("curre "+currentBitEntry);
+}
+}
+}
+System.out.println("bin value of msg hided in img is "+b_msg);
+}
+}
+
diff --git a/Steganography/LSB_encode.java b/Steganography/LSB_encode.java
new file mode 100644
index 0000000..9de2b1a
--- /dev/null
+++ b/Steganography/LSB_encode.java
@@ -0,0 +1,144 @@
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+//import java.util.Arrays;
+import java.util.Scanner;
+
+import javax.imageio.ImageIO;
+public class LSB_encode {
+ static final String MESSAGEFILE = "C:\\message.txt";
+ static final String COVERIMAGEFILE = "C:\\cover.jpeg";
+ static final String STEGIMAGEFILE = "C:\\steg.png";
+ public static void main(String[] args) throws Exception {
+
+ String contentOfMessageFile = (readMessageFile());
+int[] bits=bit_Msg(contentOfMessageFile);
+System.out.println("msg in file "+contentOfMessageFile);
+for(int i=0;i>16;
+ red = red & 255;
+ int green = currentPixel>>8;
+ green = green & 255;
+ int blue = currentPixel;
+ blue = blue & 255;
+ String x_s=Integer.toBinaryString(blue);
+ String sten_s=x_s.substring(0, x_s.length()-1);
+ sten_s=sten_s+Integer.toString(bl_msg[b]);
+
+ //j++;
+ int temp=Integer.parseInt(sten_s,2);
+ int s_pixel=Integer.parseInt(sten_s, 2);
+ int a=255;
+ int rgb = (a<<24) | (red<<16) | (green<<8) | s_pixel;
+ theImage.setRGB(x, y, rgb);
+ //System.out.println("original "+ori+" after "+theImage.getRGB(x, y));
+ ImageIO.write(theImage, "png", f);
+b++;
+
+ }
+ else if (currentBitEntry < bits.length+8 ){
+
+ int currentPixel = theImage.getRGB(x, y);
+ int ori=currentPixel;
+ int red = currentPixel>>16;
+ red = red & 255;
+ int green = currentPixel>>8;
+ green = green & 255;
+ int blue = currentPixel;
+ blue = blue & 255;
+ String x_s=Integer.toBinaryString(blue);
+ String sten_s=x_s.substring(0, x_s.length()-1);
+ sten_s=sten_s+Integer.toString(bits[j]);
+ j++;
+ int temp=Integer.parseInt(sten_s,2);
+ int s_pixel=Integer.parseInt(sten_s, 2);
+
+ int a=255;
+ int rgb = (a<<24) | (red<<16) | (green<<8) | s_pixel;
+ theImage.setRGB(x, y, rgb);
+ //System.out.println("original "+ori+" after "+theImage.getRGB(x, y));
+ ImageIO.write(theImage, "png", f);
+
+ currentBitEntry++;
+ //System.out.println("curre "+currentBitEntry);
+ }
+}
+}
+}
+}
diff --git a/Steganography/README.md b/Steganography/README.md
new file mode 100644
index 0000000..c11b6bf
--- /dev/null
+++ b/Steganography/README.md
@@ -0,0 +1,12 @@
+# LSB_Steganography
+
+##### Precautions before execution (assuming that repository is already cloned. If not, then clone the repository first):
+1. create 3 necessary files for encryption
+ - any text file with filename message.txy
+ - any sample image with name cover.png
+ - stego image with file name steg.png
+2. Go to each source file and rconfirm the path.
+3. Compile and Execute the Program using **javac filename.java** and **java filename.class** resp.
+
+
+
diff --git a/TowersOfHanoi/pom.xml b/TowersOfHanoi/pom.xml
new file mode 100644
index 0000000..7daa88f
--- /dev/null
+++ b/TowersOfHanoi/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ TowersOfHanoi
+ jar
+
+ Towers Of Hanoi
+
+
diff --git a/TowersOfHanoi/TowersOfHanoi.java b/TowersOfHanoi/src/main/java/TowersOfHanoi.java
similarity index 92%
rename from TowersOfHanoi/TowersOfHanoi.java
rename to TowersOfHanoi/src/main/java/TowersOfHanoi.java
index e2072a6..fb7e420 100644
--- a/TowersOfHanoi/TowersOfHanoi.java
+++ b/TowersOfHanoi/src/main/java/TowersOfHanoi.java
@@ -1,3 +1,7 @@
+package TowersOfHanoi;
+
+import java.util.Scanner;
+
public class TowersOfHanoi {
public void solve(int n, String start, String auxiliary, String end) {
@@ -17,4 +21,4 @@ public static void main(String[] args) {
int discs = scanner.nextInt();
towersOfHanoi.solve(discs, "A", "B", "C");
}
-}
\ No newline at end of file
+}
diff --git a/Tree/pom.xml b/Tree/pom.xml
new file mode 100644
index 0000000..ef424bf
--- /dev/null
+++ b/Tree/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ Tree
+ jar
+
+ Tree
+
+
diff --git a/Tree/Node.java b/Tree/src/main/java/Node.java
similarity index 99%
rename from Tree/Node.java
rename to Tree/src/main/java/Node.java
index 2b75b71..d37d34b 100644
--- a/Tree/Node.java
+++ b/Tree/src/main/java/Node.java
@@ -1,4 +1,4 @@
-
+package Tree;
public class Node {
diff --git a/Tree/Tree.java b/Tree/src/main/java/Tree.java
similarity index 85%
rename from Tree/Tree.java
rename to Tree/src/main/java/Tree.java
index e6e3dee..d2a720a 100644
--- a/Tree/Tree.java
+++ b/Tree/src/main/java/Tree.java
@@ -1,4 +1,4 @@
-
+package Tree;
public class Tree extends Node {
public Tree(int data) {
diff --git a/Tree/Tree_Set.java b/Tree/src/main/java/Tree_Set.java
similarity index 97%
rename from Tree/Tree_Set.java
rename to Tree/src/main/java/Tree_Set.java
index 944beb5..58ad8f4 100644
--- a/Tree/Tree_Set.java
+++ b/Tree/src/main/java/Tree_Set.java
@@ -1,4 +1,4 @@
-
+package Tree;
// Java program to demonstrate insertions in TreeSet
import java.util.*;
diff --git a/Tree/AvlTree.java b/Tree/src/main/java/com/let/us/java/tree/avltree/Linkedlist.java
similarity index 97%
rename from Tree/AvlTree.java
rename to Tree/src/main/java/com/let/us/java/tree/avltree/Linkedlist.java
index 8fbecba..b176ed6 100644
--- a/Tree/AvlTree.java
+++ b/Tree/src/main/java/com/let/us/java/tree/avltree/Linkedlist.java
@@ -1,7 +1,9 @@
+package com.let.us.java.tree.avltree;
+
import java.util.Scanner;
class Node{
- public static Node head=null;
+ public static Node head=null;
int value;
Node next;
public void InsertAtFront(int val) {
@@ -17,7 +19,7 @@ public void InsertAtFront(int val) {
head=temp;
}
}//end of insert at front function
-
+
public void InsertAtEnd(int val) {
Node temp=new Node();
Node location=head;//location node will be last node(after the iteration) of the list if list is having at least one node
@@ -35,7 +37,7 @@ public void InsertAtEnd(int val) {
temp.next=null;
}
}//end of insert at end
-
+
public void DeleteFromFront() {
if(head==null) {
System.out.println("list is empty nothing to delete");
@@ -45,7 +47,7 @@ public void DeleteFromFront() {
head=head.next;
}
}//end of delete from front
-
+
public void DeleteFromEnd() {
Node location=head;
if(head==null) {
@@ -56,14 +58,14 @@ else if(head.next==null) {
}
else {
while(location.next.next!=null) {
-
+
location=location.next;
}
System.out.println("last node of value "+location.next.value+" is deleted");
location.next=null;
}
}//end of delete from end function
-
+
public void DeleteAnodeByValue(int val) {
Node temp=head;
if(head==null) {
diff --git a/Tree/BinarySearchTree.java b/Tree/src/main/java/com/let/us/java/tree/binarytree/BinarySearchTree.java
similarity index 96%
rename from Tree/BinarySearchTree.java
rename to Tree/src/main/java/com/let/us/java/tree/binarytree/BinarySearchTree.java
index bbc9727..c3aedb8 100644
--- a/Tree/BinarySearchTree.java
+++ b/Tree/src/main/java/com/let/us/java/tree/binarytree/BinarySearchTree.java
@@ -1,3 +1,4 @@
+package com.let.us.java.tree.binarytree;
import java.util.Scanner;
@@ -15,26 +16,26 @@ public Node(int x) {
}
class Bt{
- public static Node root=null;
-
+ public static Node root=null;
+
public void insert(int val) {
root=insert(root,val);
}
int max(int a,int b) {
- return a>b?a:b;
+ return a>b?a:b;
}
-
+
public int Height(Node Root) {
if(Root==null||(Root.right==null&&Root.left==null))
return 0;
- else
+ else
return 1+max(Height(Root.left),Height(Root.right));
}
-
+
void Height() {
System.out.println("height of the tree is "+Height(root));
}
-
+
void LevelElements(Node ROOT,int level) {
if(level==0) {
if(ROOT==null)
@@ -49,14 +50,14 @@ void LevelElements(Node ROOT,int level) {
{LevelElements(ROOT.right,level-1);}
}
}
-
+
void LevelOrder() {
for(int i=0;i<=Height(root);i++) {
LevelElements(root,i);
System.out.println("");
}
}
-
+
public Node insert(Node Root,int val) {
Node newnode=new Node(val);
if(Root==null) {
@@ -83,7 +84,7 @@ public void InOrder(Node Root){
InOrder(Root.right);
}
}//end of InOrder function
-
+
public void PreOrder() {
PreOrder(root);
}
@@ -96,7 +97,7 @@ public void PreOrder(Node Root){
PreOrder(Root.right);
}
}//end of PreOrder function
-
+
public void PostOrder() {
PostOrder(root);
}
@@ -113,7 +114,7 @@ public void PostOrder(Node Root){
public void delete(int val) {
root=delete(root,val);
}
-
+
int TotalNodes(Node ROOT) {
if(ROOT==null) {
return 0;
@@ -122,7 +123,7 @@ int TotalNodes(Node ROOT) {
return 1+TotalNodes(ROOT.left)+TotalNodes(ROOT.right);
}
}
-
+
public Node delete(Node Root,int val) {
int i=0;
Scanner sc=new Scanner(System.in);
@@ -136,12 +137,12 @@ else if(val>Root.value) {
else if(val map = new HashMap();
- int count = 0;
- for (int i = 0; i < n; i++) {
- if (map.get(b[i]) == null)
- map.put(b[i], 1);
- else {
- count = map.get(b[i]);
- count++;
- map.put(b[i], count);
- }
- }
- for (int i = 0; i < n; i++) {
- if (!map.containsKey(c[i]))
- return false;
- if (map.get(c[i]) == 0)
- return false;
-
- count = map.get(c[i]);
- --count;
- map.put(c[i], count);
- }
- return true;
- }
-
- public static void increment(int[] arr, query[] q_arr,
- int n, int m, int d)
- {
- int[] sum = new int[n];
- for (int i = 0; i < m; i++)
- {
- sum[q_arr[i].start] += d;
- if ((q_arr[i].end + 1) < n)
- sum[q_arr[i].end + 1] -= d;
- }
- arr[0] += sum[0];
- for (int i = 1; i < n; i++)
- {
- sum[i] += sum[i - 1];
- arr[i] += sum[i];
- }
- }
-}
diff --git a/Zomcav/pom.xml b/Zomcav/pom.xml
new file mode 100644
index 0000000..d466350
--- /dev/null
+++ b/Zomcav/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ 4.0.0
+
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+
+
+ com.let.us.java
+ Zomcav
+ jar
+
+ Zomcav(Codechef)
+
+
diff --git a/Zomcav/src/main/java/Codechef.java b/Zomcav/src/main/java/Codechef.java
new file mode 100644
index 0000000..6b3a68c
--- /dev/null
+++ b/Zomcav/src/main/java/Codechef.java
@@ -0,0 +1,164 @@
+/* package codechef; // don't place package name! */
+
+import java.util.*;
+import java.lang.*;
+import java.io.*;
+
+/* Name of the class has to be "Main" only if the class is public. */
+public class Codechef
+{
+ static class query
+ {
+ int start, end;
+
+ query(int start, int end)
+ {
+ this.start = start;
+ this.end = end;
+ }
+ }
+
+ public static void main (String[] args) throws java.lang.Exception
+ {
+ FastReader sc=new FastReader();
+ int t=sc.nextInt();
+ for(int i=0;i map = new HashMap();
+ int count = 0;
+ for (int i = 0; i < n; i++) {
+ if (map.get(b[i]) == null)
+ map.put(b[i], 1);
+ else {
+ count = map.get(b[i]);
+ count++;
+ map.put(b[i], count);
+ }
+ }
+ for (int i = 0; i < n; i++) {
+ if (!map.containsKey(c[i]))
+ return false;
+ if (map.get(c[i]) == 0)
+ return false;
+
+ count = map.get(c[i]);
+ --count;
+ map.put(c[i], count);
+ }
+ return true;
+ }
+
+ public static void increment(int[] arr, query[] q_arr,
+ int n, int m, int d)
+ {
+ int[] sum = new int[n];
+ for (int i = 0; i < m; i++)
+ {
+ sum[q_arr[i].start] += d;
+ if ((q_arr[i].end + 1) < n)
+ sum[q_arr[i].end + 1] -= d;
+ }
+ arr[0] += sum[0];
+ for (int i = 1; i < n; i++)
+ {
+ sum[i] += sum[i - 1];
+ arr[i] += sum[i];
+ }
+ }
+}
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..02ea482
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,178 @@
+
+
+
+ 4.0.0
+
+ com.let.us.java
+ LetUsJava
+ 1.0-SNAPSHOT
+ pom
+
+ LetUsJava
+
+ http://www.example.com
+
+
+ UTF-8
+ 1.8
+ 1.8
+
+
+
+ AddFibonacciNumbers
+ Admission
+ ArmstrongNumber
+ CalculatePi
+ CodechefQuestions
+ DynamicProgramming
+ FindMinimumInRotatedSortedArray
+ FindPrime
+ KickStart2019
+ LeetCodeSolutions
+ MatrixOperations
+ OTPGenerator
+ PalindromeChecking
+ Pangram
+ PassGenerator
+ PasswordValidationInJava
+ PermutationOfString
+ SimpleDESEncryptionAlgorithm
+ SnakeGameApplet
+ SortingAlgorithms
+ TowersOfHanoi
+ Tree
+ NoMatcher
+ Zomcav
+ Stacks
+
+
+
+
+ internal.repo
+ LetUsJava
+ https://github.com/ifenil/Let-Us-Java
+
+
+ ifenil-github
+ scp://github.com/ifenil/Let-Us-Java
+
+
+
+
+
+ install
+
+ true
+
+
+ clean install
+
+
+
+
+ doc
+
+ clean site:site site:stage
+
+
+
+
+
+
+ junit
+ junit
+ 4.11
+ test
+
+
+
+ commons-lang
+ commons-lang
+ 2.6
+
+
+
+
+
+
+
+
+ maven-clean-plugin
+ 3.1.0
+
+
+
+ maven-resources-plugin
+ 3.0.2
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+
+ maven-surefire-plugin
+ 2.22.1
+
+
+ maven-jar-plugin
+ 3.0.2
+
+
+ maven-install-plugin
+ 2.5.2
+
+
+ maven-deploy-plugin
+ 2.8.2
+
+
+
+ maven-site-plugin
+ 3.7.1
+
+
+ maven-project-info-reports-plugin
+ 3.0.0
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.2.0
+
+
+ ...
+
+
+
+ default
+
+
+ ...
+
+
+ javadoc
+ test-javadoc
+
+
+
+ aggregate
+
+
+ ...
+
+
+ aggregate
+
+
+
+
+
+
+