Diferencia horaria entre la hora esperada y la hora dada

Dada la hora inicial del reloj h1:m1 y la hora actual del reloj h2:m2 , que indica la hora y los minutos en formato de reloj de 24 horas . La hora actual del reloj h2:m2 puede o no ser correcta. También se le da una variable K que denota el número de horas pasadas. La tarea es calcular el retraso en segundos, es decir , la diferencia de tiempo entre el tiempo esperado y el tiempo dado. 
Ejemplos: 
 

Entrada : h1 = 10, m1 = 12, h2 = 10, m2 = 17, k = 2 
Salida : 115 minutos 
El reloj muestra inicialmente las 10:12. Después de 2 horas debe mostrar 12:12. Pero en este punto, el reloj marca las 10:17. Por lo tanto, el reloj debe tener un retraso de 115 minutos. entonces la respuesta es 115.
Entrada : h1 = 12, m1 = 00, h2 = 12, m2 = 58, k = 1 
Salida : 2 minutos 
El reloj muestra inicialmente las 12:00. Después de 1 hora, debe mostrar las 13:00. Pero en este punto, el reloj marca las 12:58. Por lo tanto, el reloj debe tener un retraso de 2 minutos. entonces la respuesta es 2 
 

Enfoque
 

  1. Convierta el tiempo dado en formato h: m a la cantidad de minutos. Es simplemente 60*h+m.
  2. Calcule tanto el tiempo computado (agregando K horas al tiempo inicial).
  3. Encuentra la diferencia en minutos que será la respuesta.

A continuación se muestra la implementación del enfoque anterior. 
 

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>
Producción: 

Lag = 2 minutes

 

Complejidad de tiempo : O(1)
 

Publicación traducida automáticamente

Artículo escrito por Tarandeep Singh 4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *