Counting Sort 1

Sort by

recency

|

456 Discussions

|

  • + 0 comments

    Here is my c++ solution, you can watch the explanation here : https://youtu.be/snADwNvEEcM

    vector<int> countingSort(vector<int> arr) {
        vector<int> count(100, 0);
        for(int i = 0; i < arr.size(); i++) count[arr[i]]++;
        return count;
    }
    
  • + 0 comments
    def countingSort(arr):
        aux = [0 for _ in range(100)]
        for a in arr:
            aux[a] += 1
        return aux
    
  • + 0 comments

    Java

    public static List<Integer> countingSort(List<Integer> arr) {
    
        List<Integer> list=new ArrayList<>();
        for(int i=0;i<=99;i++){
            list.add(0);
        }
        for(int i=0;i<arr.size();i++){
             list.set(arr.get(i), list.get(arr.get(i))+1);   
        }  
        return list;
    }
    
  • + 0 comments

    import java.io.; import java.math.; import java.security.; import java.text.; import java.util.; import java.util.concurrent.; import java.util.function.; import java.util.regex.; import java.util.stream.*; import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toList;

    class Result {

    /*
     * Complete the 'countingSort' function below.
     *
     * The function is expected to return an INTEGER_ARRAY.
     * The function accepts INTEGER_ARRAY arr as parameter.
     */
    
    public static List<Integer> countingSort(List<Integer> arr) {
    
     Integer countArr[] = new Integer[100];
     Arrays.fill(countArr, 0);
     for(int i=0;i<arr.size();i++){
         countArr[arr.get(i)]++;         
     }  
      return Arrays.asList(countArr);  
    
    
    }
    

    }

    public class Solution { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));

        int n = Integer.parseInt(bufferedReader.readLine().trim());
    
        List<Integer> arr = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
            .map(Integer::parseInt)
            .collect(toList());
    
    
        List<Integer> result = Result.countingSort(arr);
    
        bufferedWriter.write(
            result.stream()
                .map(Object::toString)
                .collect(joining(" "))
            + "\n"
        );
    
        bufferedReader.close();
        bufferedWriter.close();
    }
    

    }

  • + 0 comments
    //Java solution
     public static List<Integer> countingSort(List<Integer> arr) {
        // Write your code here
         Integer countArr[] = new Integer[100];
         Arrays.fill(countArr, 0);
         for(int i=0;i<arr.size();i++){
             countArr[arr.get(i)]++;         
         }  
          return Arrays.asList(countArr);  
        }