आप अपने घर के पास वाले जंगल में पेड़ पर एक घर बनाने की सोच रहे हैं, ताकि आप सूरज के उगने और डूबने को देख सकें।
आपने एक स्थानीय सर्वे कंपनी से ऐसा डेटा लिया है, जिसमें नक्शे के हर आयताकार हिस्से के हर पेड़ की ऊँचाई दर्ज है। आपको नक्शे के हर ग्रिड का विश्लेषण करना होगा, ताकि पता चले कि आपके पेड़ वाले घर के लिए कौन से पेड़ अच्छे हैं।
एक अच्छे पेड़ में ये दोनों बातें होती हैं:
आपको वे संभावित पेड़ ढूँढने हैं जहाँ आप अपना ट्री हाउस बना सकते हैं।
डेटा कंपनी यह डेटा ग्रिड के रूप में देती है, जो पेड़ों की ऊँचाइयाँ दिखाते हैं। ग्रिड की पंक्तियाँ पूर्व-पश्चिम दिशा दर्शाती हैं, और स्तंभ उत्तर-दक्षिण दिशा दर्शाते हैं।
ऐसा पेड़ स्वीकार्य होगा जो अपनी पंक्ति में सबसे बड़ा हो, और साथ ही अपने स्तंभ में सबसे छोटा हो।
हो सकता है कि किसी ग्रिड में कोई अच्छा पेड़ ही न हो। और हो सकता है कि एक हो, या कई हो।
यहाँ एक ऐसा ग्रिड है जिसमें ठीक एक संभावित पेड़ है।
↓
1 2 3 4
|-----------
1 | 9 8 7 8
→ 2 |[5] 3 2 4
3 | 6 6 7 1
तो [2, 1] (पंक्ति: 2, स्तंभ: 1) वाला बिंदु ट्री हाउस बनाने के लिए बढ़िया जगह है।
इनपुट एक स्ट्रिंग के रूप में होगा। इस अभ्यास को शुरुआती लोगों के लिए आसान बनाए रखने के लिए, आपको कई अंकों वाली संख्याओं की उम्मीद करने की ज़रूरत नहीं है।
लीनियर मेमोरी के बाइट 64 से 191 इनपुट स्ट्रिंग के लिए आरक्षित हैं।
आउटपुट में पंक्ति और स्तंभ के जोड़े u8 के रूप में सीधे एक साथ जोड़कर दिए जाने चाहिए।
उदाहरण के लिए, अगर तीन सैडल पॉइंट हों
पंक्ति: 2, स्तंभ: 1 पंक्ति: 2, स्तंभ: 2 पंक्ति: 2, स्तंभ: 3
तो अपेक्षित आउटपुट u8 वैल्यू 2, 1, 2, 2, 2, 3 होंगी।
Exercism पर साइन अप कीजिए और WebAssembly को 87 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।