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!