हैलो मुझे आश्चर्य है कि मेरे कोड में क्या गलत है: इसमें इस तरह का आउटपुट होना चाहिए:
इस समस्या में मुझे तत्व जोड़कर, तत्व को हटाकर, प्राथमिकता कतार का आकार, कतार और कतार के शीर्ष तत्व को प्रिंट करके विभिन्न कतार संचालन को लागू करने की आवश्यकता है
इनपुट प्रारूप
इनपुट की पहली पंक्ति में एक पूर्णांक T होता है जो परीक्षण मामलों की संख्या को दर्शाता है। प्रत्येक परीक्षण मामले के लिए, इनपुट की पहली पंक्ति में एक पूर्णांक Q होता है जो प्रश्नों की संख्या को दर्शाता है जिसके बाद Q स्थान से अलग किए गए प्रश्न होते हैं। एक क्वेरी निम्न प्रकार की हो सकती है:
1.x (प्राथमिकता कतार में x जोड़ना और कतार प्रिंट करना)
2. (प्राथमिकता कतार के शीर्ष से तत्व को हटाना और उस तत्व को प्रिंट करना)
3.(प्राथमिकता कतार के शीर्ष पर तत्व प्राप्त करें)
4.(प्राथमिकता कतार का आकार प्राप्त करें)
5.(प्राथमिकता कतार मुद्रित करें)
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Scanner;
class Solution {
public static void main(String args[]) {
Scanner scanner= new Scanner(System.in);
int T=scanner.nextInt();
int i=0;
int Q=scanner.nextInt();
System.out.println();
PriorityQueue<Integer>pq=new PriorityQueue<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2.compareTo(o1);
}
});
while (i<T){
for (int j = 0; j < Q; j++) {
int query=scanner.nextInt();
switch (query){
case 1:
pq.add(scanner.nextInt());
System.out.println(pq.toString().replace("[","").replace("]","").replace(",",""));
break;
case 2:
System.out.println(pq.poll());
break;
case 3:
System.out.println(pq.peek());
break;
case 4:
System.out.println(pq.size());
break;
case 5:
System.out.println(pq.toString().replace("[","").replace("]","").replace(",",""));
default:
break;
}}
i++;
}}
}
लेकिन जब मैं अपना कोड चला रहा हूं तो यह मुझे इस तरह आउटपुट देता है:
1 उत्तर
आपके क्यू प्रिंटिंग कोड में कुछ समस्याएं हैं, इसके बजाय इस कोड को आजमाएं:
public static void printQueue(PriorityQueue<Integer> p1)
{
PriorityQueue<Integer> p2 = new PriorityQueue<>(p1);
while (!p2.isEmpty())
{
System.out.print(p2.poll() + " ");
}
System.out.println();
}
आप यहां स्पष्टीकरण पा सकते हैं:
PrimaryQueue.toString गलत तत्व क्रम
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।