From ebd96cca82fc5259928404e6972029db6e6962de Mon Sep 17 00:00:00 2001 From: Santiago Guerra Date: Tue, 25 Feb 2025 13:42:15 -0600 Subject: [PATCH 1/4] Problem 01 Java solved --- Java/Problem1.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Java/Problem1.java b/Java/Problem1.java index e69de29..42071e8 100644 --- a/Java/Problem1.java +++ b/Java/Problem1.java @@ -0,0 +1,21 @@ +import java.util.Arrays; + +class Solution { + public double findMedianSortedArrays(int[] nums1, int[] nums2) { + int[] mergeArray = new int[nums1.length + nums2.length]; + double median = 0.0; + + System.arraycopy(nums1, 0, mergeArray, 0, nums1.length); + System.arraycopy(nums2, 0, mergeArray, nums1.length, nums2.length); + + Arrays.sort(mergeArray); + if (mergeArray.length % 2 == 0) { + int mid = mergeArray.length / 2; + median = (mergeArray[mid - 1] + mergeArray[mid]) / 2.0; + } else { + median = mergeArray[mergeArray.length / 2]; + } + return median; + + } +} From 3a1f24ef062f541ddc4c83d616e863fcf3eb4baa Mon Sep 17 00:00:00 2001 From: Santiago Guerra Date: Tue, 25 Feb 2025 15:01:43 -0600 Subject: [PATCH 2/4] Problem 02 Java solved --- Java/Problem2.java | 78 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/Java/Problem2.java b/Java/Problem2.java index e69de29..5dd8eb1 100644 --- a/Java/Problem2.java +++ b/Java/Problem2.java @@ -0,0 +1,78 @@ +import java.util.HashMap; +import java.util.Map; + +class LRUCache { + + private static class Node { + int key; + int value; + Node prev; + Node next; + + } + + private Map cache; + private Node start; + private Node end; + private int size; + + public LRUCache(int capacity) { + this.size = capacity; + cache = new HashMap<>(); + start = new Node(); + end = new Node(); + this.start.next = this.end; + this.end.prev = this.start; + } + + public int get(int key) { + if (!cache.containsKey(key)) { + return -1; + } + + Node node = cache.get(key); + deleteNode(node); + addFront(node); + return node.value; + + } + + public void put(int key, int value) { + if (cache.containsKey(key)) { + Node node = cache.get(key); + node.value = value; + deleteNode(node); + addFront(node); + } else { + Node newnode = new Node(); + newnode.key = key; + newnode.value = value; + cache.put(key, newnode); + addFront(newnode); + if (cache.size() > size) { + Node lru = end.prev; + deleteNode(lru); + cache.remove(lru.key); + } + } + } + + private void deleteNode(Node node) { + node.prev.next = node.next; + node.next.prev = node.prev; + } + + private void addFront(Node node) { + node.prev = this.start; + node.next = this.start.next; + this.start.next.prev = node; + this.start.next = node; + } +} + +/** + * Your LRUCache object will be instantiated and called as such: + * LRUCache obj = new LRUCache(capacity); + * int param_1 = obj.get(key); + * obj.put(key,value); + */ \ No newline at end of file From fac2caf899aca81b9694c776de52403b0dbd2230 Mon Sep 17 00:00:00 2001 From: Santiago Guerra Date: Tue, 25 Feb 2025 15:25:01 -0600 Subject: [PATCH 3/4] Problem 03 Java solved --- Java/Problem3.java | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Java/Problem3.java b/Java/Problem3.java index e69de29..ecd5b22 100644 --- a/Java/Problem3.java +++ b/Java/Problem3.java @@ -0,0 +1,26 @@ +import java.util.HashMap; +import java.util.Map; + +class Solution { + public int lengthOfLongestSubstring(String s) { + int actualmax = 0; + int start = 0; + Map characterMaps = new HashMap<>(); + + for (int end = 0; end < s.length(); end++) { + char current = s.charAt(end); + + if (characterMaps.containsKey(current)) { + int newindex = characterMaps.get(current); + if (newindex >= start) { + start = newindex + 1; + } + } + characterMaps.put(current, end); + + actualmax = Math.max(actualmax, end - start + 1); + } + + return actualmax; + } +} \ No newline at end of file From 6ddb1c08c22786e547fc4eaedd60fd419b5ffa22 Mon Sep 17 00:00:00 2001 From: Santiago Guerra Date: Wed, 26 Feb 2025 10:44:42 -0600 Subject: [PATCH 4/4] Problem 04 Java solved --- Java/Problem4.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Java/Problem4.java b/Java/Problem4.java index e69de29..580b359 100644 --- a/Java/Problem4.java +++ b/Java/Problem4.java @@ -0,0 +1,11 @@ +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +class Solution { + public boolean isMatch(String s, String p) { + Pattern pattern = Pattern.compile("^" + p + "$"); + Matcher matcher = pattern.matcher(s); + return matcher.matches(); + + } +} \ No newline at end of file