# Solving Leetcode Interviews in Seconds with AI: Find the Middle Index in Array


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "1991" 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
	> Given a 0-indexed integer array nums, find the leftmost middleIndex (i.e., the smallest amongst all the possible ones). A middleIndex is an index where nums[0] + nums[1] + ... + nums[middleIndex-1] == nums[middleIndex+1] + nums[middleIndex+2] + ... + nums[nums.length-1]. If middleIndex == 0, the left side sum is considered to be 0. Similarly, if middleIndex == nums.length - 1, the right side sum is considered to be 0. Return the leftmost middleIndex that satisfies the condition, or -1 if there is no such index.   Example 1:  Input: nums = [2,3,-1,8,4] Output: 3 Explanation: The sum of the numbers before index 3 is: 2 + 3 + -1 = 4 The sum of the numbers after index 3 is: 4 = 4  Example 2:  Input: nums = [1,-1,4] Output: 2 Explanation: The sum of the numbers before index 2 is: 1 + -1 = 0 The sum of the numbers after index 2 is: 0  Example 3:  Input: nums = [2,5] Output: -1 Explanation: There is no valid middleIndex.    Constraints:  1 <= nums.length <= 100 -1000 <= nums[i] <= 1000    Note: This question is the same as 724: https://leetcode.com/problems/find-pivot-index/ 

	# Explanation
	*   **Calculate the total sum:** First, compute the total sum of all elements in the array.
*   **Iterate and compare:** Iterate through the array, maintaining a running left sum. For each index, calculate the right sum using the total sum and the left sum. Check if the left sum equals the right sum.
*   **Return the index or -1:** If a middle index is found, return it immediately. Otherwise, return -1 after the loop completes.

*   **Runtime Complexity:** O(n), where n is the length of the input array. **Storage Complexity:** O(1).

	
	# Code
	```python
	def findMiddleIndex(nums):
    """
    Finds the leftmost middleIndex in an array.

    Args:
        nums: A list of integers.

    Returns:
        The leftmost middleIndex, or -1 if no such index exists.
    """
    total_sum = sum(nums)
    left_sum = 0
    for i in range(len(nums)):
        right_sum = total_sum - left_sum - nums[i]
        if left_sum == right_sum:
            return i
        left_sum += nums[i]
    return -1
	```
			
