最小字典序插入

最小字典序插入

 1process.stdin.resume();  2process.stdin.setEncoding('utf-8');  3let input = '';  4process.stdin.on('data', (data) => {  5 input += data;  6});  7process.stdin.on('end', () => {  8 let inputArray = input.split('\n');  9 // 调用处理函数 10 doFunc(inputArray[0]); 11 process.exit(); 12}); 13 14function doFunc(str) { 15 // 将输入字符串按空格分割为L和R 16 let [L, R] = str.split(' '); 17 // 将R字符串转换为字符数组并排序 18 let rChars = R.split('').sort(); 19 20 let result = L; 21 // 遍历排序后的R字符数组 22 for (let char of rChars) { 23 let minStr = result + char; 24 // 尝试将字符插入到不同位置,找到字典序最小的结果 25 for (let i = 0; i <= result.length; i++) { 26 let newStr = result.slice(0, i) + char + result.slice(i); 27 if (newStr < minStr) { 28 minStr = newStr; 29 } 30 } 31 result = minStr; 32 } 33 console.log(result); 34} 35
process.stdin.resume(); process.stdin.setEncoding('utf-8'); let input = ''; process.stdin.on('data', (data) => { input += data; }); process.stdin.on('end', () => { let inputArray = input.split('\n'); // 调用处理函数 doFunc(inputArray[0]); process.exit(); }); function doFunc(str) { // 将输入字符串按空格分割为L和R let [L, R] = str.split(' '); // 将R字符串转换为字符数组并排序 let rChars = R.split('').sort(); let result = L; // 遍历排序后的R字符数组 for (let char of rChars) { let minStr = result + char; // 尝试将字符插入到不同位置,找到字典序最小的结果 for (let i = 0; i <= result.length; i++) { let newStr = result.slice(0, i) + char + result.slice(i); if (newStr < minStr) { minStr = newStr; } } result = minStr; } console.log(result); }

Powered By 可尔物语

浙ICP备11005866号-12