ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลข สมมติว่า num เป็นอาร์กิวเมนต์เดียว ฟังก์ชันควรนับตัวเลขดังกล่าวทั้งหมดที่มีตัวเลขและตัวเลขทั้งหมดไม่ซ้ำกัน
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −
const num = 1;
จากนั้นผลลัพธ์ควรเป็น −
const output = 10;
คำอธิบายผลลัพธ์:
ตัวเลข 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ทั้งหมดมี 1 หลักและทั้งหมดไม่ซ้ำกัน
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const num = 1; const uniqueDigits = (num = 1) => { const dp = [1, 10]; const sum = [1, 11]; for (let i = 2; i <= num; i++) { dp[i] = sum[i - 1] + (10 - i) * (dp[i - 1]); sum[i] = sum[i - 1] + dp[i]; }; return dp[num]; }; console.log(uniqueDigits(num)); console.log(uniqueDigits(2)); console.log(uniqueDigits(3));
คำอธิบายโค้ด:
เราใช้ Dynamic Programming เพื่อติดตามตัวเลขที่ต้องการที่นี่
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
10 91 739