📘
Placecom Question
  • ✅ABC? (Contest)
  • ✅Activity Selection (Contest)
  • ✅Absolute value discrepancy (Contest)
  • ✅Akash's Contest (Contest)
  • ✅Alternate Matrix Addition(Contest)
  • ✅Anti clockwise(Contest)
  • ✅Arpit's toy (Contest)
  • ✅Array Frequency Paradigm (Contest)
  • ✅Array Games (Contest)
  • ✅Arranging Students (Contest)
  • ✅Array Proximity (Contest)
  • ✅ATM Machine (Contest)
  • ✅Awesome Numbers(Contest)
  • ✅Bad Dish (Contest)
  • ✅Balanced Neighborhood (Contest)
  • ✅Birthday Gift (Contest)
  • ✅Boundary Traversal of Matrix(Contest)
  • ✅Buy and Sell Stock(Contest)
  • ✅Cakewalk? (Contest)
  • ✅Can we sort? (Contest)
  • ✅Candy Love (Contest)
  • ✅Candy Shopping (Contest)
  • ✅Choose Card optimally(Contest)
  • ✅Candy Store Earnings (Contest)
  • ✅Choose points (Contest)
  • ✅Concatenate Strings (Contest)
  • ✅Common digits in two numbers (Contest)
  • ✅Count 1's in binary array(Contest)
  • ✅Count Numbers (Contest)
  • ✅Count Total Digits in a Number (Contest)
  • ✅Counting Zeroes to Ones (Contest)
  • ✅Cyclic Rotation Paradigm (Contest)
  • ✅Derrangement Exercise (Contest)
  • ✅Diagonal Sum(Contest)
  • ✅Diet planning (Contest)
  • ✅Difference Array (Contest)
  • ✅Digits Rearrangement (Contest)
  • ❌Divisible by 8 (Contest)
  • ✅Door problem (Contest)
  • ✅Duplicates at a distance k (Contest)
  • ✅Easy - Peasy (Contest)
  • ✅Eat or be Eaten(Contest)
  • ✅Factorial - Recursion(Contest)
  • ✅Find element in 2D array (Contest)
  • ✅Generate all parentheses(Contest)
  • ✅The gabba test(Contest)
  • ✅Fruit Market (Contest)
  • ✅Frequency Sort (Contest)
  • ✅Floor in a Sorted Array(Contest)
  • ✅First non-repeating character in a String(Contest)
  • ✅Find unique(Contest)
  • ✅Get the Shadow (Contest)
  • ✅Good cells (Contest)
  • ✅Good circular array (Contest)
  • ✅Grid Magic (Contest)
  • ✅Guardians of Galaxy(Contest)
  • ✅Happy Balloons (Contest)
  • ✅Help James (Contest)
  • ✅Help Samar with Chopsticks (Contest)
  • ✅Hip Hip Array (Contest)
  • ✅Increment- Decrement Philosophy (Contest)
  • ✅Infinity Stones : Form Black Order - The Army of Thanos (Contest)
  • ✅Insert Operator(Contest)
  • ✅Integer Modification (contest)
  • ✅Inversion of array(Contest)
  • ✅Iso Lexo String (Contest)
  • ✅Jumping Numbers (Contest)
  • ✅K closest points(Contest)
  • ✅Knight game(Contest)
  • ✅K-Pairs (Contest)
  • ✅Kth Row of Pascal's Triangle(Contest)
  • ✅Largest Bitonic Subarray(Contest)
  • ✅Least Subarrays(Contest)
  • ✅Lexographical Rotation (Contest)
  • ✅Lone Sum Supremacy (Contest)
  • ✅Lucky Boys(Contest)
  • ❌Majority Element(Contest)
  • ✅Matrix problem(Contest)
  • ✅Matrix ZigZag Traversal(Contest)
  • ✅Max Candies(Contest)
  • ✅Max permute (Contest)
  • ✅Max Score in Quiz (Contest)
  • ✅Max sum column (Contest)
  • ✅Max XOR(Contest)
  • ❌Maximize Strength (Contest)
  • ✅Maximizing Difference(Contest)
  • ✅Maximum Area(Contest)
  • ❌Maximizing Difference(Contest)
  • ✅Maximum Force(Contest)
  • ✅Longest subarray not having more than K distinct elements(Contest)
  • ✅Maximum value of difference of a pair of elements and their Index(Contest)
  • ✅Minimum adjacent difference in a circular array easy(Contest)
  • ✅Minimum Element in Sorted and Rotated Array(Contest)
  • ✅Minimum operation - II(Contest)
  • ✅Missing two(Contest)
  • ✅Mohit and array(Contest)
  • ✅Most occurring elements(Contest)
  • ✅Move Zeros(Contest)
  • ✅Moving right (Contest)
  • ✅Max Score in Quiz (Contest)
  • ✅N integers: Easy (Contest)
  • ✅Nth node from end of linked list(Contest)
  • ✅Number of distinct numbers(Contest)
  • ✅Odd Sum Array (Contest)
  • ✅Optimal Goodies (Contest)
  • ✅Orange or Chocolate Candy? (Contest)
  • ✅Packing Rectangles (Contest)
  • ✅Pair sum (Contest)
  • ✅Passcode (Contest)
  • ✅Permutation - 2 (Contest)
  • ✅Polynomial equation(Contest)
  • ✅Power function(Contest)
  • ✅Power of Three(Contest)
  • ✅Print Pattern (Contest)
  • ✅Reduce to 1 (Contest)
  • ✅Remove Duplicates Inplace(Contest)
  • ✅Repeating numbers (Contest)
  • ✅Replace element(Contest)
  • ✅Ropes (Contest)
  • ✅Row Index Identification (Contest)
  • ✅Row with maximum 1's(Contest)
  • ✅Sara and Monsters (Contest)
  • ✅Science Camp (contest)
  • ✅Score bar(Contest)
  • ✅Search in rotated sorted array(Contest)
  • ✅Searching an element in a sorted array(Contest)
  • ✅Separating Negative and Positive numbers(Contest)
  • ❌Sequence Formation (Contest)
  • ❌Setwet's Fish Pond(Contest)
  • ✅Shopping (Contest)
  • ✅Simple Circle (Simple Contest)
  • ✅Simple Pairs(Contest)
  • ✅Simple Transpose (Contest)
  • ✅Skit Video (Contest)
  • ✅Smaller elements (Contest)
  • ✅Sort it (Contest)
  • ✅Special digit sum (Contest)
  • ✅Spiral rotation(Contest)
  • ✅Squiggly brackets (Contest)
  • ✅Strange element (Easy-Version)
  • ✅Subarray with given sum(Contest)
  • ✅Sum of largest elements(Contest)
  • ✅Sum Up(Contest)
  • ✅Swapping Matrix (Contest)
  • ✅Sweet Bunty (Contest)
  • ✅Teacher(Contest)
  • ✅The EndGame : Concatenated Words(Contest)
  • ✅The high median paradigm (Contest)
  • ✅Tower of Hanoi(Contest)
  • ✅Transpose of a matrix(Contest)
  • ✅Triangular matrix (Contest)
  • ✅Two Sum Maximization(Contest)
  • ✅Ultron : Vibranium Quest(Contest)
  • ✅Wakandan Point in Unsorted Array(Contest)
  • ✅Yet again Partition sort problem (Contest)
  • ✅Yet Another Array Rearrangement Problem (Contest)
  • ✅Zero Padding(Contest)
  • ✅First & Last (Contest)
  • ❌Fast Search (Contest)
Powered by GitBook
On this page

Frequency Sort (Contest)

Frequency Sort easy Time Limit: 2 sec Memory Limit: 128000 kB

PreviousFruit Market (Contest)NextFloor in a Sorted Array(Contest)

Last updated 2 years ago

Problem Statement :

Given an array A[] of integers, sort the array according to frequency of elements. That is elements that have higher frequency come first. If frequencies of two elements are same, then smaller number comes first. Input The first line of input contains an integer T denoting the number of test cases. The description of T test cases follows. The first line of each test case contains a single integer N denoting the size of an array. The second line contains N space-separated integers A1, A2, ..., AN denoting the elements of the array.

Constraints: 1 ≤ T ≤ 100 1 ≤ N ≤105 1 ≤A[i] ≤ 104

The Sum of N over all test cases does not exceed 2*105 Output For each testcase, in a new line, print each sorted array in a separate line. For each array its numbers should be separated by space. Example Sample Input: 2 5 5 5 4 6 4 5 9 9 9 2 5

Sample Output: 4 4 5 5 6 9 9 9 2 5

Explanation: Test Case 1: The highest frequency here is 2. Both 5 and 4 have that frequency. Now since the frequencies are the same then smaller element comes first. So 4 4 comes first then comes 5 5. Finally comes 6. The output is 4 4 5 5 6.

Test Case2: The highest frequency here is 3. The element 9 has the highest frequency. So 9 9 9 comes first. Now both 2 and 5 have same frequency. So we print smaller element first. The output is 9 9 9 2 5.

link:

```java
import java.io.*; // for handling input/output
import java.util.*; // contains Collections framework

// don't change the name of this class
// you can add inner classes if needed
class Main {
    public static void main (String[] args) {
        // Your code here
        Scanner sc = new Scanner(System.in);
        int tc = sc.nextInt();

        while(tc-- > 0){
            int n = sc.nextInt();
            int[] arr = new int[n];

            for(int i = 0; i<arr.length ; i++){
                arr[i] = sc.nextInt();
            }
            
            HashMap <Integer , Integer> hm = new HashMap<>();

            for(int num : arr){
                hm.put(num , hm.getOrDefault(num , 0)+1);
            }

            List <Integer>[] bucket = new List[n];
            for(int key : hm.keySet()){
                int freq = hm.get(key);
                if(bucket [freq-1] == null){
                    bucket[freq-1] = new ArrayList <>();
                }
                bucket[freq-1].add(key);
            }

            StringBuilder res = new StringBuilder();
            for(int i = n-1 ; i>=0; i--){
                if(bucket[i] != null){
                    Collections.sort(bucket[i]);
                    for(int num : bucket[i]){
                        for(int j = 0 ;j<hm.get(num) ; j++){
                            res.append(num).append(" ");
                        }
                    }
                }
            }

            System.out.println(res.toString().trim());
        }
        sc.close();
    }
}
```
✅
https://my.newtonschool.co/playground/code/26i89kadve9m/