Zum Hauptinhalt springen
🪟 Windows TippsOffice 2024 Pro Plus zum Top-Preis! Lizenzen ab 16,66 €(18.09.2026 um 04:55 Uhr)
🕵️ SicherheitslückenCVE-2026-93468 | HGiga OAKclouds up to 106 path traversal (EUVD-2026-82642)(18.09.2026 um 05:10 Uhr)
🪟 Windows TippsOffice 2024 Pro Plus zum Top-Preis! Lizenzen ab 16,66 €(18.09.2026 um 04:55 Uhr)
🕵️ SicherheitslückenCVE-2026-93468 | HGiga OAKclouds up to 106 path traversal (EUVD-2026-82642)(18.09.2026 um 05:10 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

Median of the two sorted arrays.

Problem Statement

Given two sorted arrays nums1 and nums2, return the median of the two sorted arrays.

The overall run time complexity should be:

O(log(min(N,M)))

Brute Force Intuition

In an interview, you can explain it like this:

Since both arrays are sorted, we can merge them into a single sorted array and then directly compute the median from the merged array.

Complexity

  • Time Complexity: O(N + M)
  • Space Complexity: O(N + M)

Brute Force Code

int[] merged = new int[n + m];

// Merge both arrays

return median;

Moving Towards the Optimal Approach

Do we really need the merged array?

No.

We only care about:

Left Half
Right Half

such that:

All elements in Left Half
<=
All elements in Right Half

This is where partition-based Binary Search comes in.

Pattern Recognition

Whenever you see:

  • Two Sorted Arrays
  • Median
  • O(log N) expected

Think:

Binary Search on Partition

Key Observation

For total elements:

n + m

Left partition should contain:

(n + m + 1) / 2

elements.

We Binary Search on:

How many elements to take from nums1

Remaining automatically come from nums2.

Optimal Java Solution

class Solution {

    public double findMedianSortedArrays(int[] nums1,
                                         int[] nums2) {

        if (nums1.length > nums2.length)
            return findMedianSortedArrays(nums2, nums1);

        int n1 = nums1.length;
        int n2 = nums2.length;

        int low = 0;
        int high = n1;

        while (low <= high) {

            int cut1 = low + (high - low) / 2;

            int cut2 =
                (n1 + n2 + 1) / 2 - cut1;

            int left1 =
                cut1 == 0 ? Integer.MIN_VALUE
                           : nums1[cut1 - 1];

            int left2 =
                cut2 == 0 ? Integer.MIN_VALUE
                           : nums2[cut2 - 1];

            int right1 =
                cut1 == n1 ? Integer.MAX_VALUE
                            : nums1[cut1];

            int right2 =
                cut2 == n2 ? Integer.MAX_VALUE
                            : nums2[cut2];

            if (left1 <= right2 &&
                left2 <= right1) {

                if ((n1 + n2) % 2 == 0) {

                    return (Math.max(left1, left2)
                          + Math.min(right1, right2))
                          / 2.0;
                }

                return Math.max(left1, left2);
            }

            else if (left1 > right2) {

                high = cut1 - 1;

            } else {

                low = cut1 + 1;
            }
        }

        return 0;
    }
}

Dry Run

Input

nums1 = [1,3]
nums2 = [2]

Total:

3 elements

Need:

2 elements on left side

Partition:

[1] | [3]

[2] |

Check:

left1 <= right2
left2 <= right1

Valid Partition.

Median:

max(1,2)
=
2

Complexity Analysis

Metric Complexity
Time Complexity O(log(min(N,M)))
Space Complexity O(1)

Interview One-Liner

Binary search the partition of the smaller array and ensure all elements on the left side are less than or equal to all elements on the right side.

Pattern Learned

Two Sorted Arrays
+
Median
+
Logarithmic Requirement

=> Binary Search on Partition
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Median of the two sorted arrays.

Thematisch verwandte Begriffe: Median, sorted, arrays · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-61591 | djust provides Phoenix LiveView-style reactive server-side rendering for…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
News ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

↗ Original-Quelle