Open In App

Time difference between expected time and given time

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
 

  1. Convert given time in h:m format to number of minutes. It is simply 60*h+m.
  2. Calculate both the computed time(adding K hours to the initial time).
  3. Find the difference in minutes which will be the answer.

Below is the implementation of the above approach. 
 




// 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 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 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# 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 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




<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>

Output: 
Lag = 2 minutes

 

Time Complexity: O(1)
Auxiliary Space: O(1) as it is using constant space for variables


Article Tags :