Given the initial clock time h1:m1 and the present clock time h2:m2, denoting hour and minutes in 24-hours clock format. The present clock time h2:m2 may or may not be correct. Also given a variable K which denotes the number of hours passed. The task is to calculate the delay in seconds i.e. time difference between expected time and given time.
Examples :
Input: h1 = 10, m1 = 12, h2 = 10, m2 = 17, k = 2
Output: 115 minutes
The clock initially displays 10:12. After 2 hours it must show 12:12. But at this point, the clock displays 10:17. Hence, the clock must be lagging by 115 minutes. so the answer is 115.
Input: h1 = 12, m1 = 00, h2 = 12, m2 = 58, k = 1
Output: 2 minutes
The clock initially displays 12:00. After 1 hour it must show 13:00. But at this point, the clock displays 12:58. Hence, the clock must be lagging by 2 minutes. so the answer is 2.
Approach:
- Convert given time in h:m format to number of minutes. It is simply 60*h+m.
- Calculate both the computed time(adding K hours to the initial time).
- Find the difference in minutes which will be the answer.
Below is the implementation of the above approach.
C++
// C++ program to calculate clock delay #include <bits/stdc++.h> // Function definition with logic int lagDuration( int h1, int m1, int h2, int m2, int k) { int lag, t1, t2; // Conversion to minutes t1 = (h1 + k) * 60 + m1; // Conversion to minutes t2 = h2 * 60 + m2; // Calculating difference lag = t1 - t2; return lag; } // Driver Code int main() { int h1 = 12, m1 = 0; int h2 = 12, m2 = 58; int k = 1; int lag = lagDuration(h1, m1, h2, m2, k); printf ( "Lag = %d minutes" , lag); return 0; } |
Java
// Java program to // calculate clock delay class GFG { // Function definition // with logic static int lagDuration( int h1, int m1, int h2, int m2, int k) { int lag, t1, t2; // Conversion to minutes t1 = (h1 + k) * 60 + m1; // Conversion to minutes t2 = h2 * 60 + m2; // Calculating difference lag = t1 - t2; return lag; } // Driver Code public static void main(String args[]) { int h1 = 12 , m1 = 0 ; int h2 = 12 , m2 = 58 ; int k = 1 ; int lag = lagDuration(h1, m1, h2, m2, k); System.out.println( "Lag = " + lag + " minutes" ); } } // This code is contributed // by Kirti_Mangal |
Python3
# Python3 program to calculate clock delay # Function definition with logic def lagDuration(h1, m1, h2, m2, k): lag, t1, t2 = 0 , 0 , 0 # Conversion to minutes t1 = (h1 + k) * 60 + m1 # Conversion to minutes t2 = h2 * 60 + m2 # Calculating difference lag = t1 - t2 return lag # Driver Code h1, m1 = 12 , 0 h2, m2 = 12 , 58 k = 1 lag = lagDuration(h1, m1, h2, m2, k) print ( "Lag =" , lag, "minutes" ) # This code has been contributed # by 29AjayKumar |
C#
// C# program to // calculate clock delay using System; class GFG { // Function definition // with logic static int lagDuration( int h1, int m1, int h2, int m2, int k) { int lag, t1, t2; // Conversion to minutes t1 = (h1 + k) * 60 + m1; // Conversion to minutes t2 = h2 * 60 + m2; // Calculating difference lag = t1 - t2; return lag; } // Driver Code public static void Main() { int h1 = 12, m1 = 0; int h2 = 12, m2 = 58; int k = 1; int lag = lagDuration(h1, m1, h2, m2, k); Console.WriteLine( "Lag = " + lag + " minutes" ); } } // This code is contributed // by Akanksha Rai(Abby_akku) |
PHP
<?php // PHP program to // calculate clock delay function lagDuration( $h1 , $m1 , $h2 , $m2 , $k ) { // Conversion to minutes $t1 = ( $h1 + $k ) * 60 + $m1 ; // Conversion to minutes $t2 = $h2 * 60 + $m2 ; // Calculating difference $lag = $t1 - $t2 ; return $lag ; } // Driver Code $h1 = 12; $m1 = 0; $h2 = 12; $m2 = 58; $k = 1; $lag = lagDuration( $h1 , $m1 , $h2 , $m2 , $k ); echo "Lag = $lag minutes" ; // This code is contributed // by Kirti_Mangal |
Javascript
<script> // javascript program to // calculate clock delay // Function definition // with logic function lagDuration(h1 , m1 , h2 , m2 , k) { var lag, t1, t2; // Conversion to minutes t1 = (h1 + k) * 60 + m1; // Conversion to minutes t2 = h2 * 60 + m2; // Calculating difference lag = t1 - t2; return lag; } // Driver Code var h1 = 12, m1 = 0; var h2 = 12, m2 = 58; var k = 1; var lag = lagDuration(h1, m1, h2, m2, k); document.write( "Lag = " + lag + " minutes" ); // This code is contributed by aashish1995 </script> |
Lag = 2 minutes
Time Complexity: O(1)
Auxiliary Space: O(1) as it is using constant space for variables
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!