Memoize One-Argument Function
JavaScript
Medium
4 views
Problem Description
Input has a list of queries for a slow function f(x)=x*x+1. For repeated x, do not recompute; use memoization and print outputs for each query.
Input Format
First line q. Next q lines: x.
Output Format
q lines of f(x).
Official Solution
const fs=require('fs');const a=fs.readFileSync(0,'utf8').trim().split(/\\s+/);if(!a[0])process.exit(0);let i=0;const q=Number(a[i++]);const cache=new Map();const out=[];for(let k=0;k<q;k++){const x=a[i++];if(cache.has(x))out.push(String(cache.get(x)));else{const n=BigInt(x);const val=n*n+1n;cache.set(x,val);out.push(String(val));}}process.stdout.write(out.join('\
'));
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!