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/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..df43730 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ Any amazing :fire: code you may think of in Java, let's compile all of them here # Contents +<<<<<<< HEAD 1. Snake Game Applet 2. Add Fibonacci numbers 3. Matrix Operations @@ -19,6 +20,46 @@ Any amazing :fire: code you may think of in Java, let's compile all of them here 14. NoMatcher.java 15. Sorting Algorithms (BubbleSort) +# 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 +``` +======= +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 +>>>>>>> codenerve/master @@ -33,3 +74,8 @@ 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) +<<<<<<< HEAD +- [fazreil](https://github.com/fazreil) +======= +- [mKittyD](https://github.com/mKittyD) +>>>>>>> codenerve/master 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/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..b3e594b --- /dev/null +++ b/pom.xml @@ -0,0 +1,176 @@ + + + + 4.0.0 + + com.let.us.java + LetUsJava + 1.0-SNAPSHOT + pom + + LetUsJava + + http://www.example.com + + + UTF-8 + 1.7 + 1.7 + + + + AddFibonacciNumbers + ArmstrongNumber + CalculatePi + CodechefQuestions + DynamicProgramming + FindMinimumInRotatedSortedArray + FindPrime + LeetCodeSolutions + MatrixOperations + OTPGenerator + PalindromeChecking + PassGenerator + PasswordValidationInJava + PermutationOfString + SimpleDESEncryptionAlgorithm + SnakeGameApplet + SortingAlgorithms + TowersOfHanoi + Tree + Admission + KickStart2019 + NoMatcher + Zomcav + + + + + 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 + + + + + + +