Advertisement
Stelios_Gakis

Untitled

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