Java solution | with comments.
Code\n\nclass Solution {\n    public int distanceBetweenBusStops(int[] distance, int start, int destination) {\n        int MOD = distance.length;\n        int 
# Code\n```\nclass Solution {\n    public int distanceBetweenBusStops(int[] distance, int start, int destination) {\n        int MOD = distance.length;\n        int s = start;\n        int d = destination;\n\n        //onwards sum when the\n        //bus moves from source to dest \n        //in clockwise direction.\n        int onwards = 0;\n        while (s != d) {\n            onwards += distance[s];\n            s = (s + 1) % MOD;\n        }\n        \n\n        //backwards sum when the\n        //bus moves from source to dest \n        //in counter-clockwise.\n        s = start;\n        d = destination;\n        int backwards = 0;\n        while (s != d) {\n            //special mod handling\n            //because s-1 will go -ve.\n            s = ((((s-1)%MOD)+MOD)%MOD);\n            backwards += distance[s];\n        }\n\n        return Math.min(onwards, backwards);\n    }\n}\n```
['Java']