Fastest 0 ms Solution 
Code
# Code
```java []
class Solution {
    public int minCostSetTime(int start, int move, int push, int target) {
        int min = target/60;
        int sec = target%60;

        int c1 = Integer.MAX_VALUE;        
        if(min < 100){
            c1 = findCost(start, move, push, time(min, sec));
        }        
        
        min--;
        sec += 60;
        if(min < 0 || sec > 99){
            return c1;
        }        

        int c2 = findCost(start, move, push, time(min, sec));
        return Math.min(c1, c2);
    }

    int[] time(int min, int sec){
        int[] t = new int[4];
        t[0] = min/10;
        t[1] = min%10;
        t[2] = sec/10;
        t[3] = sec%10;       
        return t;
    }

    public int findCost(int curr, int move, int push, int[] t) {
        int cost = 0, i=0;
        while(t[i] == 0){
            i++;
        }

        while(i < 4){
            if(t[i] != curr){
                curr = t[i];
                cost += move;
            }
            cost += push;
            i++;
        }
        return cost;
    }
}
```
['Java']