2010-05-21 13 views
12

मैं अब एक सूची val list = List(34, 11, 98, 56, 43).न्यूनतम मूल्य के साथ तत्व सूचकांक कैसे खोजें?

है मैं इस सूची की न्यूनतम तत्व के सूचकांक (जैसे इस मामले में 1) कैसे मिल रहा है कहो?

+0

क्या यह एक होमवर्क है। मुझे लगता है कि – vodkhang

+2

करना बहुत आसान है यह एक बेहद सरल होमवर्क समस्या है। – Odrade

+2

@ वोदखांग और @ ओराडेड, मैंने 10 साल का स्नातक किया। उन्होंने हमें हमारे विश्वविद्यालय में कार्यात्मक प्रोग्रामिंग नहीं सिखाई। इसलिए ऐसे गृहकार्य-बजाने वाले प्रश्न। :( – Surya

उत्तर

23

स्काला 2.8 पर:

List(34, 11, 98, 56, 43).zipWithIndex.min._2 
6

एक खाली सूची में कोई न्यूनतम मूल्य नहीं है। केवल एक तत्व की एक सूची में वह तत्व न्यूनतम है। अन्य सभी सूचियों के लिए न्यूनतम या तो उस सूची का पहला तत्व या शेष सूची का न्यूनतम तत्व है, जो कि अधिक है।

तो सूचकांक को खोजने के लिए यह बन जाता है: लंबाई 1 की सूची के लिए न्यूनतम की अनुक्रमणिका 0 है। यदि सूची में एक से अधिक तत्व हैं और न्यूनतम पूंछ सिर से अधिक है, तो यह भी 0 है। यदि सिर अधिक होता है तो सूचकांक पूंछ के न्यूनतम प्लस के सूचकांक होता है।

6

मुझे लगता है सबसे आसान तरीका है list.indexOf(list.min) है। सूची खाली होने पर यह एक अपवाद फेंक देगा, हालांकि डैनियल का जवाब भी होगा।

संबंधित मुद्दे