Formando la array más pequeña con restricciones dadas

Dados tres enteros x, y y z (pueden ser negativos). La tarea es encontrar la longitud de la array más pequeña que se puede hacer de manera que la diferencia absoluta entre los elementos adyacentes sea menor o igual a 1, el primer elemento de la array es x, tiene un entero y y el último elemento z.
Ejemplos: 
 

Entrada: x = 5, y = 7, z = 11 
Salida: 7 
El más pequeño comienza con 5, tiene 7, termina 
con 11 y tiene diferencia absoluta 1 
es { 5, 6, 7, 8, 9, 10, 11 }.
Entrada: x = 3, y = 1, z = 2 
Salida: 4 
La array se convertiría en { 3, 2, 1, 2 } 
 

La idea es considerar la recta numérica ya que la diferencia entre los elementos adyacentes es 1, por lo que para pasar de X a Y se deben cubrir todos los números entre x e y y terminar la array con el entero z, por lo que pasar del elemento y al elemento z . 
Entonces, la longitud de la array más pequeña que se puede formar será la cantidad de puntos que se cubrirán de x a z, es decir 
 

1 + abs(x - y) + abs(y - z) (1 is added to count point x).

C++

// C++ program to find the length of
// smallest array begin with x, having y,
// ends with z and having absolute difference
// between adjacent elements <= 1.
#include <bits/stdc++.h>
using namespace std;
 
// Return the size of smallest
// array with given constraint.
int minimumLength(int x, int y, int z)
{
    return 1 + abs(x - y) + abs(y - z);
}
 
// Drivers code
int main()
{
    int x = 3, y = 1, z = 2;
    cout << minimumLength(x, y, z);
 
    return 0;
}

Java

// Java program to find the length
// of smallest array begin with x,
// having y, ends with z and having
// absolute difference between
// adjacent elements <= 1.
import java.io.*;
 
class GFG {
     
    // Return the size of smallest
    // array with given constraint.
    static int minimumLength(int x,
                      int y, int z)
    {
        return 1 + Math.abs(x - y)
                 + Math.abs(y - z);
    }
     
    // Drivers code
 
    public static void main(String[] args)
    {
        int x = 3, y = 1, z = 2;
        System.out.println(
              minimumLength(x, y, z));
    }
}
 
// This code is contributed by anuj_67.

Python 3

# Python 3 program to find
# the length of smallest
# array begin with x, having
# y, ends with z and having
# absolute difference between
# adjacent elements <= 1.
 
# Return the size of smallest
# array with given constraint.
def minimumLength(x, y, z):
 
    return (1 + abs(x - y)
              + abs(y - z))
 
# Drivers code
x = 3
y = 1
z = 2
print(minimumLength(x, y, z))
 
# This code is contributed
# by Smitha

C#

// C# program to find the length
// of smallest array begin with x,
// having y, ends with z and having
// absolute difference between
// adjacent elements <= 1.
using System;
class GFG {
     
    // Return the size of smallest
    // array with given constraint.
    static int minimumLength(int x,
                             int y,
                             int z)
    {
        return 1 + Math.Abs(x - y)
                 + Math.Abs(y - z);
    }
     
    // Driver Code
    public static void Main()
    {
        int x = 3, y = 1, z = 2;
        Console.WriteLine(minimumLength(x, y, z));
    }
}
 
// This code is contributed by anuj_67.

PHP

<?php
// PHP program to find the length of
// smallest array begin with x, having y,
// ends with z and having absolute difference
// between adjacent elements <= 1.
 
// Return the size of smallest
// array with given constraint.
function minimumLength($x, $y,$z)
{
    return 1 + abs($x - $y) +
               abs($y - $z);
}
 
    // Driver Code
    $x = 3;
    $y = 1;
    $z = 2;
    echo minimumLength($x, $y, $z);
 
// This code is contributed by anuj_67.
?>

Javascript

<script>
 
// Javascript program to find the length of
// smallest array begin with x, having y,
// ends with z and having absolute difference
// between adjacent elements <= 1.
 
// Return the size of smallest
// array with given constraint.
function minimumLength(x, y, z)
{
    return 1 + Math.abs(x - y) + Math.abs(y - z);
}
 
// Drivers code
var x = 3, y = 1, z = 2;
document.write( minimumLength(x, y, z));
 
// This code is contributed by noob2000.
</script>

Producción 
 

4

Complejidad de tiempo: O(1)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por anuj0503 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 *