# Solving Leetcode Interviews in Seconds with AI: Max Pair Sum in an Array


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "2815" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> You are given an integer array nums. You have to find the maximum sum of a pair of numbers from nums such that the largest digit in both numbers is equal. For example, 2373 is made up of three distinct digits: 2, 3, and 7, where 7 is the largest among them. Return the maximum sum or -1 if no such pair exists.   Example 1:  Input: nums = [112,131,411] Output: -1 Explanation: Each numbers largest digit in order is [2,3,4].  Example 2:  Input: nums = [2536,1613,3366,162] Output: 5902 Explanation: All the numbers have 6 as their largest digit, so the answer is 2536 + 3366 = 5902.  Example 3:  Input: nums = [51,71,17,24,42] Output: 88 Explanation: Each number's largest digit in order is [5,7,7,4,4]. So we have only two possible pairs, 71 + 17 = 88 and 24 + 42 = 66.    Constraints:  2 <= nums.length <= 100 1 <= nums[i] <= 104  

	# Explanation
	*   **High-Level Approach:** The solution involves iterating through the `nums` array, determining the largest digit in each number, and storing the numbers in a dictionary (hash map) where the key is the largest digit and the value is a list of numbers with that largest digit. Then, iterate through the dictionary and calculate the maximum sum for each group of numbers with the same largest digit.

*   **Complexity:**
    *   Runtime: O(N), where N is the number of elements in `nums`.
    *   Storage: O(N), in the worst case where all numbers have different largest digits.

	
	# Code
	```python
	def maxSum(nums):
    """
    Finds the maximum sum of a pair of numbers from nums such that the largest digit in both numbers is equal.

    Args:
        nums: A list of integers.

    Returns:
        The maximum sum of a pair of numbers with the same largest digit, or -1 if no such pair exists.
    """

    digit_map = {}
    for num in nums:
        s_num = str(num)
        largest_digit = 0
        for digit in s_num:
            largest_digit = max(largest_digit, int(digit))

        if largest_digit not in digit_map:
            digit_map[largest_digit] = []
        digit_map[largest_digit].append(num)

    max_sum = -1
    for digit in digit_map:
        if len(digit_map[digit]) >= 2:
            numbers = digit_map[digit]
            numbers.sort(reverse=True)
            max_sum = max(max_sum, numbers[0] + numbers[1])

    return max_sum
	```
			
