¿Todos los elementos en una array son iguales o no?

Dada una array, compruebe si todos los elementos de una array son iguales o no.

Ejemplos: 

Input : "Geeks", "for", "Geeks"
Output : Not all Elements are Same

Input : 1, 1, 1, 1, 1
Output : All Elements are Same

Método 1 (Hashing) Creamos un HashSet vacío, insertamos todos los elementos en él, luego finalmente vemos si el tamaño del HashSet es uno o no. 

C++

//c++ program to check if all array are same or not
#include<bits/stdc++.h>
 
using namespace std;
 
bool areSame(int a[],int n)
{
    unordered_map<int,int> m;//hash map to store the frequency of every
                             //element
     
    for(int i=0;i<n;i++)
       m[a[i]]++;
      
    if(m.size()==1)
       return true;
    else
       return false;
}
//Driver code
int main()
{
    int arr[]={1,2,3,2};
     
    int n=sizeof(arr)/sizeof(arr[0]);
     
     
    if(areSame(arr,n))
      cout<<"All Elements are Same";
    else
      cout<<"Not all Elements are Same";
}

Java

// Java program to check if all array elements are
// same or not.
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
 
public class SameElements {
public static boolean areSame(Integer arr[])
    {
        // Put all array elements in a HashSet
        Set<Integer> s = new HashSet<>(Arrays.asList(arr));
 
        // If all elements are same, size of
        // HashSet should be 1. As HashSet contains only distinct values.
        return (s.size() == 1);
    }
 
    // Driver code
public static void main(String[] args)
    {
        Integer[] arr = { 1, 2, 3, 2 };
        if (areSame(arr))
            System.out.println("All Elements are Same");
        else
            System.out.println("Not all Elements are Same");
    }
}

Python3

# Python 3 program to check if all
# array are same or not
def areSame(a, n):
    m = {i:0 for i in range(len(a))}
     
    # hash map to store the frequency
    # of every element
     
    for i in range(n):
        m[a[i]] += 1
     
    if(len(m) == 1):
        return True
    else:
        return False
 
# Driver code
if __name__ == '__main__':
    arr = [1, 2, 3, 2]
     
    n = len(arr)
     
    if(areSame(arr, n)):
        print("All Elements are Same")
    else:
        print("Not all Elements are Same")
 
# This code is contributed by
# Shashank_Sharma

C#

// C# program to check if all array elements
// are same or not.
using System;
using System.Collections.Generic;
  
class GFG{
     
public static bool areSame(int []arr)
{
     
    // Put all array elements in a HashSet
    HashSet<int> s = new HashSet<int>();
    for(int i = 0; i < arr.Length; i++)
        s.Add(arr[i]);
     
    // If all elements are same, size of
    // HashSet should be 1. As HashSet
    // contains only distinct values.
    return (s.Count == 1);
}
 
// Driver code
public static void Main(String[] args)
{
    int[] arr = { 1, 2, 3, 2 };
     
    if (areSame(arr))
        Console.WriteLine("All Elements are Same");
    else
        Console.WriteLine("Not all Elements are Same");
}
}
 
// This code is contributed by Amit Katiyar

Javascript

<script>
// Javascript program to check if all array elements are
// same or not.
 
    function areSame(arr)
    {
        // Put all array elements in a HashSet
        let s = new Set(arr);
  
        // If all elements are same, size of
        // HashSet should be 1. As HashSet contains only distinct values.
        return (s.size == 1);
    }
     
    // Driver code
    let arr=[1, 2, 3, 2];
    if (areSame(arr))
            document.write("All Elements are Same");
        else
            document.write("Not all Elements are Same");
 
 
// This code is contributed by patel2127
</script>
Producción

Not all Elements are Same

Complejidad temporal: O(n) 
Espacio auxiliar: O(n)

Método 2 (Comparar con el primero) La idea es simple. Comparamos todos los demás elementos con el primero. Si todos coinciden con primero, devolvemos verdadero. De lo contrario, devolvemos false.

C++

// C++ Program to implement
// the above approach
#include <bits/stdc++.h>
using namespace std;
 
bool areSame(int arr[],
             int n)
{
  int first = arr[0];
 
  for (int i = 1; i < n; i++)
    if (arr[i] != first)
      return 0;
  return 1;
}
 
// Driver code
int main()
{
  int arr[] = {1, 2, 3, 2};
  int n = sizeof(arr) /
          sizeof(arr[0]);
  if (areSame(arr, n))
    cout << "All Elements are Same";
  else
    cout << "Not all Elements are Same";
}
 
// This code is contributed by gauravrajput1

Java

// Java program to check if all array elements are
// same or not.
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
 
public class SameElements {
public static boolean areSame(Integer arr[])
    {
       Integer first = arr[0];
       for (int i=1; i<arr.length; i++)
           if (arr[i] != first)
                return false;
       return true;
    }
 
    // Driver code
public static void main(String[] args)
    {
        Integer[] arr = { 1, 2, 3, 2 };
        if (areSame(arr))
            System.out.println("All Elements are Same");
        else
            System.out.println("Not all Elements are Same");
    }
}

Python3

# Python3 program to check
# if all array elements are
# same or not.
def areSame(arr):
   
    first = arr[0];
     
    for i in range(1, len(arr)):
        if (arr[i] != first):
            return False;
           
    return True;
 
# Driver code
if __name__ == '__main__':
   
    arr = [1, 2, 3, 2];
     
    if (areSame(arr)):
        print("All Elements are Same");
    else:
        print("Not all Elements are Same");
 
# This code is contributed by Rajput-Ji

C#

// C# program to check if all
// array elements are same or not.
using System;
class SameElements{
   
static bool areSame(int []arr)
{
  int first = arr[0];
   
  for (int i = 1;
           i < arr.Length; i++)
    if (arr[i] != first)
      return false;
  return true;
}
 
// Driver code
public static void Main(String[] args)
{
  int[] arr = {1, 2, 3, 2};
   
  if (areSame(arr))
    Console.WriteLine("All Elements are Same");
  else
    Console.WriteLine("Not all Elements are Same");
}
}
 
// This code is contributed by 29AjayKumar

Javascript

<script>
 
// JavaScript program to check if all array elements are
// same or not.
 
    function areSame(arr)
    {
        let first = arr[0];
       for (let i=1; i<arr.length; i++)
           if (arr[i] != first)
                return false;
       return true;
    }
     
     // Driver code
    let arr=[1, 2, 3, 2 ];
    if (areSame(arr))
        document.write("All Elements are Same<br>");
    else
        document.write("Not all Elements are Same<br>");
     
 
// This code is contributed by unknown2108
 
</script>
Producción

Not all Elements are Same

Complejidad temporal: O(n) 
Espacio auxiliar: O(1) 

Publicación traducida automáticamente

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