में उपलब्ध "संख्या" खोजें मुझे यह समस्या है कि मुझे सबसे प्रभावशाली तरीके से हल करने की आवश्यकता है। मेरे पास 2 डी सरणी है जिसमें निम्न शामिल हैं: सब कुछ जो 1 है वह एक "दीवार" है जिसका अर्थ है कि आप इसके माध्यम से नहीं जा सकते हैं। 2 प्रवेश द्वार है जहां आप चाहें तो सरणी या मानचित्र "दर्ज करें"। 3 वे चीजें हैं जिन्हें हमें ढूंढने की ज़रूरत है। ।2 डी सरणी
1111111
1 3131
2 11111
1 31
1111111
यह एक सरणी है कि मैं ", नहीं पहुंचा जा सकता क्योंकि यह एक दीवार से घिरा हुआ है" में देख कर वहाँ के रूप में आप देख सकते हैं एक 3 वह यह है कि जरूरत का एक उदाहरण हो सकता है: यहाँ एक नक्शा का एक उदाहरण है ।।।।
: 1 "इसका मतलब है कि इस सरणी में दो उपलब्ध नंबर दिए गए हैं किपहले हम प्रवेश द्वार खोजने की जरूरत है के बाद से प्रवेश द्वार कहीं भी मैं पूरी सरणी खोज करने की आवश्यकता हो सकता है मैं निम्नलिखित किया है
int treasureAmount = 0;
Point entrance = new Point(0,0);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; i++){
if(map[i][j] == 2){
entrance.x =i;
entrance.y =j;
}
}
यह ओ (एन^2) समय लेता है, और मुझे वास्तव में ऐसा करने का कोई और तरीका नहीं दिखता है, क्योंकि प्रवेश कहीं भी हो सकता है। हालांकि मुझे वास्तव में यह सुनिश्चित नहीं है कि उपलब्ध संख्याओं को प्रभावी ढंग से और तेज़ी से कैसे ढूंढें। मैंने प्रवेश के लिए सरणी खोजते समय सोचा था कि मैं एक ही समय में सरणी में सभी नंबर 3 ढूंढूंगा, भले ही कुछ पहुंच योग्य न हों, और इसके बाद मुझे सच में यकीन नहीं है कि कैसे सुलभ रूप से सुलभ हो सकते हैं।
ओ (एन^2) (या ओ (एमएन)) सबसे अच्छा है जो आप यहां कर सकते हैं। बात यह है कि क्या आप इसे कम परिचालन में कर सकते हैं या नहीं ... – nhahtdh
_ "सबसे पहले हमें प्रवेश द्वार ढूंढना होगा ... प्रवेश कहीं भी हो सकता है" _ प्रवेश द्वार सचमुच कहीं भी है, या यह "परिधि" तक सीमित है "सरणी का - जैसा कि आप प्रदान करते हैं उदाहरण में? – stormCloud
प्रवेश द्वार में कहीं भी हो सकता है। यह मध्य में या "किनारे" पर हो सकता है –