समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहले और एकमात्र तर्क के रूप में संख्याओं की एक सरणी लेता है।
हमारे फ़ंक्शन को इनपुट ऐरे के आधार पर एक नया ऐरे तैयार करना चाहिए। और इस नए सरणी का प्रत्येक संगत तत्व मूल सरणी में संबंधित तत्व से छोटे तत्वों की संख्या होना चाहिए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const arr = [4, 7, 1, 4, 7, 5, 3, 8, 9];
तब आउटपुट होना चाहिए -
const output = [2, 4, 0, 1, 2, 1, 0, 0, 0];
आउटपुट स्पष्टीकरण:
क्योंकि इसके दाईं ओर 4 से छोटी संख्या 2 (1 और 3) है, 7 के लिए 4 (1, 4, 5, 3) इत्यादि।
उदाहरण
इसके लिए कोड होगा -
const arr = [4, 7, 1, 4, 7, 5, 3, 8, 9]; const countSmaller = (array = [], num) => array.reduce((acc, val) => { if(val < num){ acc++; }; return acc; }, 0); const smallerArray = (arr = []) => { const res = []; for(let i = 0; i < arr.length; i++){ const el = arr[i]; res[i] = countSmaller(arr.slice(i, arr.length), el); }; return res; }; console.log(smallerArray(arr));
आउटपुट
कंसोल में आउटपुट होगा -
[ 2, 4, 0, 1, 2, 1, 0, 0, 0 ]