Runtime 1ms using recursion
I tried to resolve it using recursion.\nSo the main motive is to find the maximum because the minimum always be either 0,1 and 2\nTo find the maximun steps  we 
I tried to resolve it using recursion.\nSo the main motive is to find the maximum because the minimum always be either 0,1 and 2\nTo find the maximun steps  we need to  go from left to right or right to left (small ---> big) or (big ----> small)\n```\nclass Solution {\n    public int[] numMovesStones(int a, int b, int c) {\n        int[] arr ={a,b,c};\n        int[] arr2 = {a,b,c};\n        int maximum = findMaximum(arr);\n        int minimum = findMinimum(maximum,arr2);\n        return new int[]{minimum,maximum};\n    }\n    public int findMaximum(int[] arr){\n        Arrays.sort(arr);\n        int count = 0;\n        if(arr[0] == (arr[1]-1) && arr[1] == (arr[2] -1) ) return count;\n        if(arr[0] == arr[1]-1){\n            arr[2]--;\n            count++;\n        }\n        else{\n            arr[0]++;\n            count++;\n        }\n        return count + findMaximum(arr);\n        \n    }\n    \n    public int findMinimum(int max,int[] arr){\n        Arrays.sort(arr);\n        if(max == 0) return 0;\n        else if(Math.abs(arr[0]-arr[1]) >2  && Math.abs(arr[1]-arr[2]) >2 ) return 2;\n        else return 1;\n    }\n}\n```\n
['Recursion', 'Java']