Valor mínimo entre AND de elementos de cada subconjunto de una array

Dada una array de enteros, la tarea es encontrar el AND de todos los elementos de cada subconjunto de la array e imprimir el valor AND mínimo entre todos ellos.
Ejemplos: 
 

Input: arr[] = {1, 2, 3}
Output: 0
AND of all possible subsets 
(1 & 2) = 0,
(1 & 3) = 1,
(2 & 3) = 2 and 
(1 & 2 & 3) = 0. 
Minimum among these is 0. 

Input: arr[] = {7, 2}
Output: 2    

Enfoque: el valor AND mínimo de cualquier subconjunto del arreglo será el AND de todos los elementos del arreglo. Entonces, la forma más simple es encontrar AND de todos los elementos de la sub-array.
A continuación se muestra la implementación del enfoque anterior: 
Implementación: 
 

C++

// C++ program for the above approach
#include<bits/stdc++.h>
using namespace std;
 
void minAND(int arr[], int n)
{
 
    int s = arr[0];
 
    // Find AND of whole array
    for (int i = 1; i < n; i++)
    {
        s = s & arr[i];
    }
 
    // Print the answer
    cout << (s) << endl;
}
     
// Driver code
int main()
{
    int arr[] = {1, 2, 3};
    int n = sizeof(arr)/sizeof(int);
    minAND(arr, n);
}
 
// This code has been contributed by Arnab Kundu

Java

// Java program for the above approach
class GFG
{
 
    static void minAND(int[] arr, int n)
    {
 
        int s = arr[0];
 
        // Find AND of whole array
        for (int i = 1; i < n; i++)
        {
            s = s & arr[i];
        }
 
        // Print the answer
        System.out.println(s);
    }
     
    // Driver code
    public static void main(String[] args)
    {
        int[] arr = {1, 2, 3};
        int n = arr.length;
        minAND(arr, n);
    }
}
 
// This code has been contributed by 29AjayKumar

Python

# Python program for the above approach
def minAND(arr, n):
     
    s = arr[0]
     
    # Find AND of whole array
    for i in range(1, n):
        s = s & arr[i]
     
    # Print the answer
    print(s)
 
# Driver code
arr = [1, 2, 3]
n = len(arr)
minAND(arr, n)

C#

// C# program for the above approach
class GFG
{
 
    static void minAND(int[] arr, int n)
    {
 
        int s = arr[0];
 
        // Find AND of whole array
        for (int i = 1; i < n; i++)
        {
            s = s & arr[i];
        }
 
        // Print the answer
        System.Console.WriteLine(s);
    }
     
    // Driver code
    static void Main()
    {
        int[] arr = {1, 2, 3};
        int n = arr.Length;
        minAND(arr, n);
    }
}
 
// This code has been contributed by chandan_jnu

PHP

<?php
// PHP program for the above approach
 
function minAND($arr, $n)
{
 
    $s = $arr[0];
 
    // Find AND of whole array
    for ($i = 1; $i < $n; $i++)
    {
        $s = $s & $arr[$i];
    }
 
    // Print the answer
    print($s . "\n");
}
     
// Driver code
$arr = array(1, 2, 3);
$n = count($arr);
minAND($arr, $n);
 
// This code is contributed
// by chandan_jnu
?>

Javascript

<script>
// Javascript implementation of the approach
function minAND(arr, n) {
 
    let s = arr[0];
 
    // Find AND of whole array
    for (let i = 1; i < n; i++) {
        s = s & arr[i];
    }
 
    // Print the answer
    document.write((s) + "<br>");
}
 
// Driver code
 
let arr = [1, 2, 3];
let n = arr.length;
minAND(arr, n);
 
 
// This code is contributed by _saurabh_jaiswal
</script>
Producción: 

0

 

Publicación traducida automáticamente

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