मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है, (सकारात्मक, ऋणात्मक और शून्य) इस तरह -
const arr = [23, -1, 0, 11, 18];
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहले और एकमात्र तर्क के रूप में एक ऐसी सरणी लेता है। तब फ़ंक्शन को सभी तीन अलग-अलग समूहों, अर्थात् सकारात्मक, नकारात्मक और शून्य के लिए भिन्नात्मक अनुपात खोजना चाहिए।
उदाहरण के लिए -
उपरोक्त सरणी के लिए, इसकी लंबाई 5 है, इस सरणी के लिए आउटपुट होना चाहिए -
const output = [.2, .2, .6];
आउटपुट सरणी में हमेशा 3 संख्याएँ होंगी, जो क्रमशः ऋणात्मक, शून्य और धनात्मक पूर्णांकों के भिन्नात्मक अनुपात का प्रतिनिधित्व करती हैं। हमारे उत्तर को सत्यापित करने का एक मोटा तरीका यह है कि इन तीन मानों को जोड़ें और जांचें कि क्या वे 1 के करीब हैं या नहीं, यदि वे करते हैं, तो इस बात की बहुत संभावना है कि हमने समस्या को सही ढंग से हल कर लिया है।
उदाहरण
इसके लिए कोड होगा -
const arr = [23, -1, 0, 11, 18]; const findRatio = (arr = []) => { const { length } = arr; const res = [0, 0, 0]; for(let i = 0; i < arr.length; i++){ const el = arr[i]; const key = el / Math.abs(el || 1); res[key + 1]++; }; return res.map(el => el / length); }; console.log(findRatio(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
[0.2, 0.2, 0.6]