# Solving Leetcode Interviews in Seconds with AI: Distance Between Bus Stops


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "1184" 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
	> A bus has n stops numbered from 0 to n - 1 that form a circle. We know the distance between all pairs of neighboring stops where distance[i] is the distance between the stops number i and (i + 1) % n. The bus goes along both directions i.e. clockwise and counterclockwise. Return the shortest distance between the given start and destination stops.   Example 1:   Input: distance = [1,2,3,4], start = 0, destination = 1 Output: 1 Explanation: Distance between 0 and 1 is 1 or 9, minimum is 1.   Example 2:   Input: distance = [1,2,3,4], start = 0, destination = 2 Output: 3 Explanation: Distance between 0 and 2 is 3 or 7, minimum is 3.    Example 3:   Input: distance = [1,2,3,4], start = 0, destination = 3 Output: 4 Explanation: Distance between 0 and 3 is 6 or 4, minimum is 4.    Constraints:  1 <= n <= 10^4 distance.length == n 0 <= start, destination < n 0 <= distance[i] <= 10^4 

	# Explanation
	Here's the breakdown of the solution:

*   **Calculate Clockwise Distance:** Iterate from the `start` stop to the `destination` stop, accumulating the distances. Handle the circular nature of the stops using the modulo operator.
*   **Calculate Counterclockwise Distance:** Iterate from the `start` stop in the reverse direction to the `destination` stop, accumulating the distances. Again, handle the circular nature.
*   **Return Minimum:** Return the minimum of the clockwise and counterclockwise distances.

*   **Runtime Complexity:** O(n), where n is the number of stops. **Storage Complexity:** O(1).

	
	# Code
	```python
	def distanceBetweenBusStops(distance, start, destination):
    """
    Calculates the shortest distance between two bus stops in a circular route.

    Args:
        distance (list[int]): The distance between neighboring stops.
        start (int): The starting stop.
        destination (int): The destination stop.

    Returns:
        int: The shortest distance between the start and destination stops.
    """
    n = len(distance)
    clockwise_distance = 0
    current_stop = start
    
    while current_stop != destination:
        clockwise_distance += distance[current_stop]
        current_stop = (current_stop + 1) % n

    total_distance = sum(distance)
    counterclockwise_distance = total_distance - clockwise_distance

    return min(clockwise_distance, counterclockwise_distance)
	```
			
