Skip to content

Commit

Permalink
3 more java problems solved
Browse files Browse the repository at this point in the history
  • Loading branch information
h-ssiqueira committed Jul 3, 2024
1 parent 5198c63 commit 5fa931d
Show file tree
Hide file tree
Showing 8 changed files with 73 additions and 1 deletion.
3 changes: 3 additions & 0 deletions Java/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ ___
* [Can_You_Access](pdf/can-you-access.pdf) - [Solution](java/Can_You_Access.java)
* [Covariant_Return_Types](pdf/java-covariance.pdf) - [Solution](java/Covariant_Return_Types.java)
* [Factory_pattern](pdf/java-factory.pdf) - [Solution](java/Factory_pattern.java)
* [MD5](pdf/java-md5.pdf) - [Solution](java/MD5.java)
* [SHA256](pdf/sha-256.pdf) - [Solution](java/SHA256.java)
* [Varargs_Simple_Addition](pdf/simple-addition-varargs.pdf) - [Solution](java/Varargs_Simple_Addition.java)
___
### Big Number
Expand Down Expand Up @@ -66,6 +68,7 @@ ___
___
### Strings
* [Anagrams](pdf/java-anagrams.pdf) - [Solution](java/Anagrams.java)
* [Duplicate_words](pdf/duplicate-word.pdf) - [Solution](java/DuplicateWords.java)
* [Pattern_syntax_checker](pdf/pattern-syntax-checker.pdf) - [Solution](java/Pattern_syntax_checker.java)
* [Regex](pdf/java-regex.pdf) - [Solution](java/Regex.java)
* [String_compare](pdf/java-string_compare.pdf) - [Solution](/java/String_compare.java)
Expand Down
31 changes: 31 additions & 0 deletions Java/java/DuplicateWords.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class DuplicateWords {

public static void main(String[] args) {

String regex = "\\b([A-Za-z]+)\\b(\\s+\\1\\b)+";
Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);

Scanner in = new Scanner(System.in);
int numSentences = Integer.parseInt(in.nextLine());

while (numSentences-- > 0) {
String input = in.nextLine();

Matcher m = p.matcher(input);

// Check for subsequences of input that match the compiled pattern
while (m.find()) {
input = input.replaceAll(m.group(), m.group(1));
}

// Prints the modified sentence.
System.out.println(input);
}

in.close();
}
}
19 changes: 19 additions & 0 deletions Java/java/MD5.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;
import javax.xml.bind.DatatypeConverter;

public class MD5 {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
String input = in.nextLine();
System.out.println(DatatypeConverter.printHexBinary(md5.digest(input.getBytes())).toLowerCase());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("Invalid hashing algorithm");
}
in.close();
}
}
19 changes: 19 additions & 0 deletions Java/java/SHA256.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;
import javax.xml.bind.DatatypeConverter;

public class SHA256 {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
try {
MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
String input = in.nextLine();
System.out.println(DatatypeConverter.printHexBinary(sha256.digest(input.getBytes())).toLowerCase());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("Invalid hashing algorithm");
}
in.close();
}
}
Binary file added Java/pdf/duplicate-word.pdf
Binary file not shown.
Binary file added Java/pdf/java-md5.pdf
Binary file not shown.
Binary file added Java/pdf/sha-256.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion Regex/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Problem | Java | Javascript | Python
[Backreferences_To_Failed_Groups](pdf/backreferences-to-failed-groups.pdf) | [Solution](java/Backreferences_To_Failed_Groups.java) | N/A | N/A
[Branch_Reset_Groups](pdf/branch-reset-groups.pdf) | [Solution](java/Branch_Reset_Groups.java) | N/A | N/A
[Forward_References](pdf/forward-references.pdf) | [Solution](java/Forward_References.java) | N/A | N/A
[Mathcing_Same_Text_Again_Again](pdf/matching-same-text-again-again.pdf) | [Solution](java/Matching_Same_Text_Again_Again.java) | N/A | N/A
[Matching_Same_Text_Again_Again](pdf/matching-same-text-again-again.pdf) | [Solution](java/Matching_Same_Text_Again_Again.java) | N/A | N/A
___
### Assertions
Problem | Java | Javascript | Python
Expand Down

0 comments on commit 5fa931d

Please sign in to comment.