ab
mod `1337` where `a` is a positive integer and `b` is an extremely large positive integer given in the form of an array.
+
+**Example 1:**
+
+**Input:** a = 2, b = \[3\]
+
+**Output:** 8
+
+**Example 2:**
+
+**Input:** a = 2, b = \[1,0\]
+
+**Output:** 1024
+
+**Example 3:**
+
+**Input:** a = 1, b = \[4,3,3,8,5,2\]
+
+**Output:** 1
+
+**Example 4:**
+
+**Input:** a = 2147483647, b = \[2,0,0\]
+
+**Output:** 1198
+
+**Constraints:**
+
+* 1 <= a <= 231 - 1
+* `1 <= b.length <= 2000` +* `0 <= b[i] <= 9` +* `b` doesn't contain leading zeros. \ No newline at end of file diff --git a/src/main/java/g0301_0400/s0373_find_k_pairs_with_smallest_sums/Solution.java b/src/main/java/g0301_0400/s0373_find_k_pairs_with_smallest_sums/Solution.java new file mode 100644 index 000000000..41de813e8 --- /dev/null +++ b/src/main/java/g0301_0400/s0373_find_k_pairs_with_smallest_sums/Solution.java @@ -0,0 +1,41 @@ +package g0301_0400.s0373_find_k_pairs_with_smallest_sums; + +// #Medium #Array #Heap_Priority_Queue + +import java.util.ArrayList; +import java.util.List; +import java.util.PriorityQueue; + +public class Solution { + private static class Node { + long sum; + List(u1, v1), (u2, v2), ..., (uk, vk)
_with the smallest sums_.
+
+**Example 1:**
+
+**Input:** nums1 = \[1,7,11\], nums2 = \[2,4,6\], k = 3
+
+**Output:** \[\[1,2\],\[1,4\],\[1,6\]\]
+
+**Explanation:** The first 3 pairs are returned from the sequence: \[1,2\],\[1,4\],\[1,6\],\[7,2\],\[7,4\],\[11,2\],\[7,6\],\[11,4\],\[11,6\]
+
+**Example 2:**
+
+**Input:** nums1 = \[1,1,2\], nums2 = \[1,2,3\], k = 2
+
+**Output:** \[\[1,1\],\[1,1\]\]
+
+**Explanation:** The first 2 pairs are returned from the sequence: \[1,1\],\[1,1\],\[1,2\],\[2,1\],\[1,2\],\[2,2\],\[1,3\],\[1,3\],\[2,3\]
+
+**Example 3:**
+
+**Input:** nums1 = \[1,2\], nums2 = \[3\], k = 3
+
+**Output:** \[\[1,3\],\[2,3\]\]
+
+**Explanation:** All possible pairs are returned from the sequence: \[1,3\],\[2,3\]
+
+**Constraints:**
+
+* 1 <= nums1.length, nums2.length <= 105
+* -109 <= nums1[i], nums2[i] <= 109
+* `nums1` and `nums2` both are sorted in **ascending order**.
+* `1 <= k <= 1000` \ No newline at end of file diff --git a/src/test/java/g0301_0400/s0371_sum_of_two_integers/SolutionTest.java b/src/test/java/g0301_0400/s0371_sum_of_two_integers/SolutionTest.java new file mode 100644 index 000000000..56873ca7b --- /dev/null +++ b/src/test/java/g0301_0400/s0371_sum_of_two_integers/SolutionTest.java @@ -0,0 +1,18 @@ +package g0301_0400.s0371_sum_of_two_integers; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + +import org.junit.jupiter.api.Test; + +class SolutionTest { + @Test + void getSum() { + assertThat(new Solution().getSum(1, 2), equalTo(3)); + } + + @Test + void getSum2() { + assertThat(new Solution().getSum(2, 3), equalTo(5)); + } +} diff --git a/src/test/java/g0301_0400/s0372_super_pow/SolutionTest.java b/src/test/java/g0301_0400/s0372_super_pow/SolutionTest.java new file mode 100644 index 000000000..b075c7e14 --- /dev/null +++ b/src/test/java/g0301_0400/s0372_super_pow/SolutionTest.java @@ -0,0 +1,28 @@ +package g0301_0400.s0372_super_pow; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + +import org.junit.jupiter.api.Test; + +class SolutionTest { + @Test + void superPow() { + assertThat(new Solution().superPow(2, new int[] {3}), equalTo(8)); + } + + @Test + void superPow2() { + assertThat(new Solution().superPow(2, new int[] {1, 0}), equalTo(1024)); + } + + @Test + void superPow3() { + assertThat(new Solution().superPow(1, new int[] {4, 3, 3, 8, 5, 2}), equalTo(1)); + } + + @Test + void superPow4() { + assertThat(new Solution().superPow(2147483647, new int[] {2, 0, 0}), equalTo(1198)); + } +} diff --git a/src/test/java/g0301_0400/s0373_find_k_pairs_with_smallest_sums/SolutionTest.java b/src/test/java/g0301_0400/s0373_find_k_pairs_with_smallest_sums/SolutionTest.java new file mode 100644 index 000000000..8af778707 --- /dev/null +++ b/src/test/java/g0301_0400/s0373_find_k_pairs_with_smallest_sums/SolutionTest.java @@ -0,0 +1,36 @@ +package g0301_0400.s0373_find_k_pairs_with_smallest_sums; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + +import java.util.ArrayList; +import java.util.Arrays; +import org.junit.jupiter.api.Test; + +class SolutionTest { + @Test + void ksmallestPairs() { + assertThat( + new Solution().ksmallestPairs(new int[] {1, 7, 11}, new int[] {2, 4, 6}, 3), + equalTo( + new ArrayList(
+ Arrays.asList(
+ Arrays.asList(1, 2),
+ Arrays.asList(1, 4),
+ Arrays.asList(1, 6)))));
+ }
+
+ @Test
+ void ksmallestPairs2() {
+ assertThat(
+ new Solution().ksmallestPairs(new int[] {1, 1, 2}, new int[] {1, 2, 3}, 2),
+ equalTo(new ArrayList(Arrays.asList(Arrays.asList(1, 1), Arrays.asList(1, 1)))));
+ }
+
+ @Test
+ void ksmallestPairs3() {
+ assertThat(
+ new Solution().ksmallestPairs(new int[] {1, 2}, new int[] {3}, 3),
+ equalTo(new ArrayList(Arrays.asList(Arrays.asList(1, 3), Arrays.asList(2, 3)))));
+ }
+}