मुझे मौजूदा एक को अपग्रेड करने के लिए एक असाइनमेंट दिया गया है।एक लिंक में सिंगल लिंक्ड सूची को कनवर्ट करना
चित्रा बाहर कैसे प्रत्येक टर्मिनल लाइन के लिए एक मानचित्र का उपयोग कर योग्यता परीक्षा समस्या पुनःकूटित करना, धारणा है कि इस समस्या का आकार इनपुट लाइनों की संख्या का प्रभुत्व है पर, नहीं 500 टर्मिनल लाइनों
कार्यक्रम एक टेक्स्ट फ़ाइल में लेता है जिसमें संख्या, नाम है। संख्या पीसी नंबर है और नाम वह उपयोगकर्ता है जिसने लॉग ऑन किया है। कार्यक्रम प्रत्येक पीसी के लिए उपयोगकर्ता को सबसे अधिक लॉग ऑन करता है। यहां मौजूदा कोड
public class LineUsageData {
SinglyLinkedList<Usage> singly = new SinglyLinkedList<Usage>();
//function to add a user to the linked list or to increment count by 1
public void addObservation(Usage usage){
for(int i = 0; i < singly.size(); ++i){
if(usage.getName().equals(singly.get(i).getName())){
singly.get(i).incrementCount(1);
return;
}
}
singly.add(usage);
}
//returns the user with the most connections to the PC
public String getMaxUsage(){
int tempHigh = 0;
int high = 0;
String userAndCount = "";
for(int i = 0; i < singly.size(); ++i){//goes through list and keeps highest
tempHigh = singly.get(i).getCount();
if(tempHigh > high){
high = tempHigh;
userAndCount = singly.get(i).getName() + " " + singly.get(i).getCount();
}
}
return userAndCount;
}
}
मुझे सैद्धांतिक पक्ष में परेशानी हो रही है। हम एक हैशप या एक ट्रेमैप का उपयोग कर सकते हैं। मैं इस बारे में सोचने की कोशिश कर रहा हूं कि मैं एक मानचित्र कैसे बनाउंगा जो प्रत्येक पीसी के लिए उपयोगकर्ताओं की सूची रखेगा? मैं उपयोग ऑब्जेक्ट का पुन: उपयोग कर सकता हूं जिसमें उपयोगकर्ता का नाम और गिनती होगी। मुझे उस ऑब्जेक्ट को बदलने की आवश्यकता नहीं है हालांकि