Programa para imprimir N elementos mínimos de una lista de enteros

Dada una lista de enteros, la tarea es generar otra lista con N elementos mínimos.

Ejemplos:  

Input: {23, 1, 6, 2, 90}
Output: {1, 2}

Input: {34, 21, 56, 42, 89, 90, -1}
Output: {-1, 21}

Enfoque: La idea es utilizar el concepto utilizado en Encontrar los elementos más pequeños y segundos más pequeños en una array

  • Primero, encuentre el número más pequeño en la lista dada.
  • Luego agregue ese elemento mínimo actual a otra lista que contendrá los N elementos mínimos.
  • Elimina el elemento mínimo actual de la lista dada.
  • Continúe con el mismo proceso hasta encontrar los N elementos mínimos.

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

C++

// C++ program to find N
// minimum elements
#include <bits/stdc++.h>
using namespace std;
 
void Nminelements(vector<int>list1, int N)
{
    vector<int> final_list;
    int n = list1.size();
    for (int i = 0; i < N; i++)
    {
        int min1 = 9999999;
        for (int j = 0; j < n; j++)
        {
            if (list1[j] < min1)
                min1 = list1[j];
        }
         
        // remove minimum element
        // from list so that it do
        // not come in calculation again        
        list1.erase(remove(list1.begin(),
                           list1.end(), min1),
                           list1.end());
        final_list.push_back(min1);
    }
    for(int i = 0; i < final_list.size(); i++)
    cout << final_list[i] << " ";
}
 
// Driver code
int main()
{
    vector<int> list1 = {4, 78, 34, 10,
                         8, 21, 11, 231};
    int N = 2;
    Nminelements(list1, N);
}
 
// This code is contributed by Subhadeep

Java

// Java program to find N
// minimum elements
import java.io.*;
import java.util.*;
 
class GFG{
     
static void Nminelements(ArrayList<Integer> list1, int N)
{
    ArrayList<Integer> final_list = new ArrayList<Integer>();
  
    for(int i = 0; i < N; i++)
    {
        int min1 = 9999999;
        int index = 0;
        for(int j = 0; j < list1.size(); j++)
        {
            if ((int)list1.get(j) < min1)
            {    min1 = (int)list1.get(j);
                index = j;
            }
        }
         
        // Remove minimum element
        // from list so that it do
        // not come in calculation again
        list1.remove(index);
        final_list.add(min1);
    }
    for(int i = 0; i < final_list.size(); i++)
        System.out.print(final_list.get(i) + " ");
}
  
// Driver code
public static void main (String[] args)
{
    ArrayList<Integer> list1 = new ArrayList<Integer>(
        Arrays.asList(4, 78, 34, 10, 8, 21, 11, 231 ));
    int N = 2;
  
    Nminelements(list1, N);
}
}
 
// This code is contributed by avanitrachhadiya2155

Python3

# Python3 program to find N minimum elements
def Nminelements(list1, N):
    final_list =[];
  
    for i in range(0, N):   
        min1 = 9999999;
          
        for j in range(len(list1)):     
            if list1[j]<min1:
                min1 = list1[j];
 
        # remove minimum element from list so
        # that it do not come in calculation again        
        list1.remove(min1);
        final_list.append(min1)
          
    print(final_list)
  
# Driver code
list1 = [4, 78, 34, 10, 8, 21, 11, 231];
N = 2;
Nminelements(list1, N)

C#

// C# program to find N
// minimum elements
using System;
using System.Collections;
 
class GFG{
 
static void Nminelements(ArrayList list1, int N)
{
    ArrayList final_list = new ArrayList();
 
    for(int i = 0; i < N; i++)
    {
        int min1 = 9999999;
        for(int j = 0; j < list1.Count; j++)
        {
            if ((int)list1[j] < min1)
                min1 = (int)list1[j];
        }
         
        // Remove minimum element
        // from list so that it do
        // not come in calculation again
        list1.Remove(min1);
 
        final_list.Add(min1);
    }
    for(int i = 0; i < final_list.Count; i++)
        Console.Write(final_list[i] + " ");
}
 
// Driver code
public static void Main()
{
    ArrayList list1 = new ArrayList(){ 4, 78, 34, 10,
                                       8, 21, 11, 231 };
    int N = 2;
     
    Nminelements(list1, N);
}
}
 
// This code is contributed by chitranayal

Javascript

<script>
// Javascript program to find N
// minimum elements
 
function Nminelements(list1,N)
{
    let final_list = [];
   
    for(let i = 0; i < N; i++)
    {
        let min1 = 9999999;
        let index = 0;
        for(let j = 0; j < list1.length; j++)
        {
            if (list1[j] < min1)
            {    min1 = list1[j];
                index = j;
            }
        }
          
        // Remove minimum element
        // from list so that it do
        // not come in calculation again
        list1.splice(index, 1);
        final_list.push(min1);
    }
    for(let i = 0; i < final_list.length; i++)
        document.write(final_list[i] + " ");
}
 
// Driver code
let list1=[4, 78, 34, 10, 8, 21, 11, 231 ];
let N = 2;
Nminelements(list1, N);
 
 
// This code is contributed by rag2127
</script>
Producción: 

4 8

 

Complejidad temporal: O(n*n)

Espacio Auxiliar: O(n)

Publicación traducida automáticamente

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