Minimum Merge Conflicts
Problem statement
Developers want to merge two source-control branches into one unified branch while preserving the relative order of commits from each branch.
Each branch is represented by a lowercase string. Each character represents a commit priority, where a lower alphabetical character has higher priority.
A conflict occurs when, in the merged branch, a lower-priority commit appears before a higher-priority commit. In other words, for positions i < j in the merged string, there is a conflict when merged[i] > merged[j].
Examples
Example 1
primary = "zc"secondary = "d"return = 2Valid merges include:
zcdwith2merge conflicts (zbeing lower priority is placed before higher priority commitscandd).- Similarly,
zdcwith3merge conflicts. - Similarly,
dzcwith2merge conflicts.
The minimum number of merge conflicts possible is 2.
Unlock this recently reported problem
FastPrep Pro gives you full access to interview problems reported within the last week.
- Full problem statement and constraints
- 2 more worked examples, explained
- Guided hints and editorial
- Run your code on real test cases
$99 billed yearly — or $19 month-to-month. Cancel anytime.