मैं एक आसान काम के साथ संघर्ष कर रहा हूं जिसमें गैर-ऋणात्मक पूर्णांक की एक श्रृंखला है जहां मुझे निकटतम दूरी वापस करने की आवश्यकता है।किसी सरणी के अंदर तत्वों की दूरी प्राप्त करें?
सरणी: arr = [8, 24, 3, 20, 1, 17]
समाधान:
def smallest_distance(a)
result = nil
a.each_with_index do |item1, index1|
a.each_with_index do |item2, index2|
next if index1 == index2
temp = (item1 - item2) >= 0 ? item1 - item2 : item2 - item1
result = temp if result.nil? || temp < result
end
end
result
end
:
2
,
arr[2]-arr[4]
सोर तक, मैं केवल एक हे लिखने के लिए (एन^2) समाधान है, जो स्पष्ट रूप से पर्याप्त नहीं है प्रबंधित किया है
इस पर सुधार करने के तरीके पर कोई विचार?
तुम मेरे अद्यतन सवाल जाँच कर सके copmare लिए प्रयोग करते हैं? NlogN बस ठीक है। – Cojones
@Cojones मेरे लिए सही लगता है, लेकिन मैं रूबी वाक्यविन्यास से वास्तव में परिचित नहीं हूँ। एल्गोरिदम सही लगता है, मुझे नहीं पता कि मुझे कुछ विशिष्ट रूबी समस्याएं याद आ रही हैं या नहीं। – amit
@Cojones भी, यदि आपका अपडेट किया गया प्रश्न मेरे उत्तर से आया है, तो आपको इसे उत्तर में भी बेहतर लिखना चाहिए, इसलिए लोग उत्तर के संदर्भ को समझेंगे (जो प्रश्न के संपादन से पहले आया था, और संपादन पर आधारित था यह)। – amit