कमांड लाइन पार्सिंग में यह एक बहुत ही आम एल्गोरिदम है। पूर्वनिर्धारित लंबे विकल्प नामों के एक सेट को देखते हुए - सबसे कम उपसर्ग की गणना करें जो विशिष्ट रूप से इन विकल्पों में से किसी एक को पहचानता है।स्ट्रिंग्स के सेट के सबसे छोटे अद्वितीय उपसर्गों की गणना कैसे करें?
*
/| \
/| \
H N P
/\ |
E O O
/\
R L
: - तो उदाहरण के लिए, निम्नलिखित विकल्पों के लिए: या तो एक पेड़ के रूप
-he
-ho
-por
-n
-pol
मैं ऐसा करने के दो संभव तरीके में सोच रहा हूँ:
-help
-hostname
-portnumber
-name
-polymorphic
यह आउटपुट होगा
या सबस्ट्रिंग को खोजते हुए:
for (String s : strings) {
for (int i = 1; i < s.length(); s++) {
if (search(strings,s.substring(0,i)) == 1) {
result.add(s.substring(0,i);
break;
}
}
}
तो, सवाल यह है:
- आप किसके लिए जाएंगे?
- क्या मुझे एक स्पष्ट तीसरा तरीका याद आ रहा है?
संदर्भ, संदर्भ, संदर्भ! मैं उस परिदृश्य में बेहतर था जो मेरे परिदृश्य में बेहतर था। –
विकल्प 1 जाने का सबसे अच्छा तरीका लगता है। तेज़, सटीक, और सीधे आगे ... – Kendrick
संदर्भ कमांड लाइन पार्सिंग है - इस प्रकार इसे एक बार बनाया जाएगा और एक बार उपयोग किया जाएगा। चूंकि यह कचरा इकट्ठा किया गया है और अधिकांश ऑपरेटिंग सिस्टम 1 एमबी मेमोरी उपयोग के तहत कमांड लाइनों को सीमित करते हैं, यह कोई मुद्दा नहीं है। प्रदर्शन संरचना और बाद के लुकअप के निर्माण के बीच संतुलित होना चाहिए, क्योंकि दोनों सामान्य रूप से केवल एक बार प्रदर्शन किए जाएंगे। –