**Problem Statement:**
Given the required input arguments, write an efficient algorithm to solve the **Maximum Profit in Job Scheduling** problem. Implement the required logic as specified by standard definitions for this classic algorithmic challenge.
**Hint / Expected Approach:**
Sort by end time + binary search + DP
**Edge Cases to Consider:**
- (1) No non-overlapping jobs
- (2) All non-overlapping
- (3) Single job