एकात्मक रूप से बढ़ते हुए अंक
एक पूर्णांक में मोनोटोन बढ़ते अंक होते हैं यदि और केवल यदि आसन्न अंकों की प्रत्येक जोड़ी x और y x <=y को संतुष्ट करते हैं।
समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले और एकमात्र तर्क के रूप में एक संख्या, संख्या लेता है।
हमारे फ़ंक्शन को केवल सबसे बड़ी संख्या ढूंढनी चाहिए जो मोनोटोन बढ़ते अंकों के साथ संख्या से कम या उसके बराबर हो।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है
इनपुट
const num = 332;
आउटपुट
const output = 299;
उदाहरण
निम्नलिखित कोड है -
const num = 332; const monotoneIncreasingDigits = (num) => { const checkMonotone = (x) =>{ if (x <= 9) { return true } let currentDigit = x % 10 while (x) { const next = Math.floor(x / 10) const nextDigit = next % 10 if (currentDigit >= nextDigit) { currentDigit = nextDigit x = next } else { return false } } return true } if (checkMonotone(num)) { return num } const digits = num.toString().split('').map(x => Number(x)) return digits.reduce((acc, num, index) => { if (num >= 1) { const current = parseInt(digits.slice(0, index).join('') + num - 1 + new Array(digits.length - index - 1).fill('9').join(''), 10) if (checkMonotone(current)) { return Math.max( acc,current) } } return acc }, 0) } console.log(monotoneIncreasingDigits(num));
आउटपुट
299