Advertisement
Stelios_Gakis

Untitled

Nov 18th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.63 KB | None | 0 0
  1.  
  2. import java.util.ArrayList;
  3.  
  4. public class Main2 {
  5.  
  6.     char[] timeS = new char[6];
  7.     char[] timeT = new char[6];
  8.     public static void main(String[] args) {
  9.  
  10.         char[] S = new char[]{'2', '2', ':', '2', '2', ':', '2', '1',};
  11.         char[] T = new char[]{'2', '2', ':', '2', '2', ':', '2', '3',};
  12.  
  13.         Main2 myApp = new Main2();
  14.         System.out.println(myApp.solution(S, T));
  15.  
  16.     }
  17.     int solution(char[] S, char[] T) {
  18.         // Hours for S
  19.         timeS[0] = S[0];
  20.         timeS[1] = S[1];
  21.  
  22.         // Hours for S
  23.         timeS[2] = S[3];
  24.         timeS[3] = S[4];
  25.  
  26.         // Hours for S
  27.         timeS[4] = S[6];
  28.         timeS[5] = S[7];
  29.  
  30.         // Hours for T
  31.         timeT[0] = T[0];
  32.         timeT[1] = T[1];
  33.  
  34.         // Minutes for T
  35.         timeT[2] = T[3];
  36.         timeT[3] = T[4];
  37.  
  38.         // Seconds for T
  39.         timeT[4] = T[6];
  40.         timeT[5] = T[7];
  41.  
  42.  
  43.         int interestingCount = 0;
  44.  
  45.         boolean exit = false;
  46.  
  47.         while (!timeS.equals(timeT)) {
  48.             increaseTime(timeS);
  49.             interestingCount = interestingCount + checkInteresting(timeS);
  50.         }
  51.         return interestingCount;
  52.     }
  53.  
  54.     private int checkInteresting(char[] arr) {
  55.         ArrayList<Character> charArray = new ArrayList<>();
  56.         for (int i = 0; i < arr.length; i++) {
  57.             if (!charArray.contains(arr[i])) {
  58.                 charArray.add(arr[i]);
  59.             }
  60.         }
  61.         if (charArray.size() > 2) {
  62.             return 0;
  63.         } else {
  64.             return 1;
  65.         }
  66.     }
  67.  
  68.     private void increaseTime(char[] arr) {
  69.         /*
  70.          ASCII 48 is 0
  71.          ASCII 49 is 1
  72.          ASCII 50 is 2
  73.          ASCII 51 is 3
  74.          ASCII 52 is 4
  75.          ASCII 53 is 5
  76.          ASCII 54 is 6
  77.          ASCII 55 is 7
  78.          ASCII 56 is 8
  79.          ASCII 57 is 9
  80.          ASCII 58 is :
  81.          */
  82.  
  83.         arr[5]++;
  84.         if (arr[5] == 58) {
  85.             arr[5] = 48;
  86.             arr[4]++;
  87.  
  88.             if (arr[4] == 55) {
  89.                 arr[4] = 48;
  90.                 arr[3]++;
  91.  
  92.                 if (arr[3] == 58) {
  93.                     arr[3] = 48;
  94.                     arr[2]++;
  95.  
  96.                     if (arr[2] == 55) {
  97.                         arr[2] = 48;
  98.                         arr[1]++;
  99.  
  100.                         if (arr[1] == 52 && arr[0] == 50) {
  101.                             arr[0] = 0; // overflow
  102.                         } else if (arr[1] == 58 && (arr[0] == 48 || arr[0] == 49)) {
  103.                             arr[0]++;
  104.                         }
  105.                     }
  106.                 }
  107.             }
  108.         }
  109.     }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement