Skip to content
Related Articles

Related Articles

Improve Article
Time difference between expected time and given time
  • Difficulty Level : Easy
  • Last Updated : 31 Mar, 2021

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




// 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>
Output: 
Lag = 2 minutes

 

Time Complexity: O(1)
 




My Personal Notes arrow_drop_up
Recommended Articles
Page :