Q62 Minimum Cost To Connect Sticks

PHOTO EMBED

Sat Feb 04 2023 06:21:12 GMT+0000 (Coordinated Universal Time)

Saved by @Ayush_dabas07

import java.io.*;
import java.util.*;

public class Main {

  public static int connectSticks(int[] sticks) {

    //add all sticks in a priority queue
    
    Queue<Integer> q = new PriorityQueue<>();
    
    for(int val : sticks)
    q.add(val);
    
    int ans = 0;
    
    while(q.size()!=1){
        int cost = q.remove()+q.remove();
        
        ans += cost;
        
        q.add(cost);
    }
    
    return ans;

  }

  public static void main(String[] args) {
    Scanner scn = new Scanner(System.in);
    int n = scn.nextInt();

    int[] sticks = new int[n];
    for (int i = 0; i < sticks.length; i++) {
      sticks[i] = scn.nextInt();
    }

    System.out.println(connectSticks(sticks));
  }

}
content_copyCOPY

https://www.pepcoding.com/resources/data-structures-and-algorithms-in-java-levelup/hashmap-and-heaps/minimum-cost-to-connect-sticks/ojquestion