हम सभी अक्सर मुहावरे को "सरणी के माध्यम से चलते हैं" सुनते हैं, जिसका अर्थ है "निम्न सरणी पर फ़ंक्शन को मैप करें"। हालांकि, मुझे इसकी आवश्यकता है (अब!), इसलिए मैं चाहता हूं कि आप सरणी के माध्यम से चलाएं ।
मैं कैसे चलाऊं?
कल्पना कीजिए कि आपके पीछे भेड़ियों का एक जंगली पैकेट है
एक सरणी से भागना एक के माध्यम से चलने जैसा है, सिवाय इसके कि आप तत्वों को छोड़ सकते हैं। हां, यह कभी-कभी गड़बड़ होता है, लेकिन यह (आम तौर पर) काम करता है। "कौन से तत्व छोड़े गए हैं?", आप पूछ सकते हैं। खैर, यह यादृच्छिक पर किया जाता है। चलो सरणी के माध्यम से चल रहा है!
- आज्ञा देना
e
वर्तमान तत्व है। - में
random
एक यादृच्छिक फ्लोट उत्पन्न करते हैं[0,1)
। यदिrandom() < 0.5
, तो आप अगले तत्व पर जाते हैं और फिर चरण 1 पर जाते हैं (आप अन्य साधनों द्वारा एक संख्या उत्पन्न कर सकते हैं, इसलिए जब तक उनका एक (आदर्श रूप से) लंघन और शेष होने की समान संभावना है। जैसे, आप किसी तत्व का चयन कर सकते हैं। दो सदस्यीय सेट और परिणाम के आधार पर कार्रवाई करते हैं।) - अन्यथा, आप
f
पर कार्य करते हैंe
।
उद्देश्य
किसी सरणी / सूची / स्ट्रिंग को या तो A
और एक संख्या को देखते हुए, सरणी के K
माध्यम से चलाएं, K
प्रत्येक सदस्य तक पहुंच को जोड़ते हुए । इस सरणी को आउटपुट / वापस करें। A
केवल गैर-नकारात्मक पूर्णांक होंगे, और K
केवल एक गैर-नकारात्मक पूर्णांक होंगे। यह एक कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कार्यक्रम जीत जाता है।
परीक्षण के मामले (उदाहरण)
K, A => possible K'
[1, 2, 3, 4], 0 => [1, 2, 3, 4]
[1, 2, 3, 4], 1 => [1, 3, 3, 5]
[0, 0, 0, 0], 2 => [2, 0, 0, 2]
x
ऐसी है कि 0 ≤ x < 1
।
[0,1)
लेखन त्रुटि है? 2 और जाने के लिए ...