Skip to content

Commit 63a213f

Browse files
authored
Update Solution.c
1 parent 90bb304 commit 63a213f

File tree

1 file changed

+20
-20
lines changed
  • solution/0000-0099/0004.Median of Two Sorted Arrays

1 file changed

+20
-20
lines changed
Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
int findKth(int *nums1, int m, int i, int *nums2, int n, int j, int k) {
2-
if (i >= m)
3-
return nums2[j + k - 1];
4-
if (j >= n)
5-
return nums1[i + k - 1];
6-
if (k == 1)
7-
return nums1[i] < nums2[j] ? nums1[i] : nums2[j];
1+
int findKth(int* nums1, int m, int i, int* nums2, int n, int j, int k) {
2+
if (i >= m)
3+
return nums2[j + k - 1];
4+
if (j >= n)
5+
return nums1[i + k - 1];
6+
if (k == 1)
7+
return nums1[i] < nums2[j] ? nums1[i] : nums2[j];
88

9-
int p = k / 2;
9+
int p = k / 2;
1010

11-
int x = (i + p - 1 < m) ? nums1[i + p - 1] : INT_MAX;
12-
int y = (j + p - 1 < n) ? nums2[j + p - 1] : INT_MAX;
11+
int x = (i + p - 1 < m) ? nums1[i + p - 1] : INT_MAX;
12+
int y = (j + p - 1 < n) ? nums2[j + p - 1] : INT_MAX;
1313

14-
if (x < y)
15-
return findKth(nums1, m, i + p, nums2, n, j, k - p);
16-
else
17-
return findKth(nums1, m, i, nums2, n, j + p, k - p);
14+
if (x < y)
15+
return findKth(nums1, m, i + p, nums2, n, j, k - p);
16+
else
17+
return findKth(nums1, m, i, nums2, n, j + p, k - p);
1818
}
1919

20-
double findMedianSortedArrays(int *nums1, int m, int *nums2, int n) {
21-
int total = m + n;
22-
int a = findKth(nums1, m, 0, nums2, n, 0, (total + 1) / 2);
23-
int b = findKth(nums1, m, 0, nums2, n, 0, (total + 2) / 2);
24-
return (a + b) / 2.0;
25-
}
20+
double findMedianSortedArrays(int* nums1, int m, int* nums2, int n) {
21+
int total = m + n;
22+
int a = findKth(nums1, m, 0, nums2, n, 0, (total + 1) / 2);
23+
int b = findKth(nums1, m, 0, nums2, n, 0, (total + 2) / 2);
24+
return (a + b) / 2.0;
25+
}

0 commit comments

Comments
 (0)