单词规律

单词规律

 1process.stdin.resume();  2process.stdin.setEncoding('utf-8');  3let input = '';  4  5process.stdin.on('data', (data) => {  6 input += data;  7});  8  9process.stdin.on('end', () => { 10 let inputArray = input.trim().split('\n'); 11 let pattern = inputArray[0]; 12 let s = inputArray[1]; 13 let result = followsPattern(pattern, s); 14 console.log(result ? 'TRUE' : 'FALSE'); 15 process.exit(); 16}); 17 18function followsPattern(pattern, s) { 19 let words = s.split(' '); 20 21 // 如果pattern和words的长度不相等,直接返回false 22 if (pattern.length !== words.length) { 23 return false; 24 } 25 26 let charToWordMap = {}; 27 let wordToCharMap = {}; 28 29 for (let i = 0; i < pattern.length; i++) { 30 let char = pattern[i]; 31 let word = words[i]; 32 33 // 检查字符到单词的映射是否已存在,如果存在则检查是否一致 34 if (charToWordMap.hasOwnProperty(char)) { 35 if (charToWordMap[char] !== word) { 36 return false; 37 } 38 } else { 39 charToWordMap[char] = word; 40 } 41 42 // 检查单词到字符的映射是否已存在,如果存在则检查是否一致 43 if (wordToCharMap.hasOwnProperty(word)) { 44 if (wordToCharMap[word] !== char) { 45 return false; 46 } 47 } else { 48 wordToCharMap[word] = char; 49 } 50 } 51 52 return true; 53}
process.stdin.resume(); process.stdin.setEncoding('utf-8'); let input = ''; process.stdin.on('data', (data) => { input += data; }); process.stdin.on('end', () => { let inputArray = input.trim().split('\n'); let pattern = inputArray[0]; let s = inputArray[1]; let result = followsPattern(pattern, s); console.log(result ? 'TRUE' : 'FALSE'); process.exit(); }); function followsPattern(pattern, s) { let words = s.split(' '); // 如果pattern和words的长度不相等,直接返回false if (pattern.length !== words.length) { return false; } let charToWordMap = {}; let wordToCharMap = {}; for (let i = 0; i < pattern.length; i++) { let char = pattern[i]; let word = words[i]; // 检查字符到单词的映射是否已存在,如果存在则检查是否一致 if (charToWordMap.hasOwnProperty(char)) { if (charToWordMap[char] !== word) { return false; } } else { charToWordMap[char] = word; } // 检查单词到字符的映射是否已存在,如果存在则检查是否一致 if (wordToCharMap.hasOwnProperty(word)) { if (wordToCharMap[word] !== char) { return false; } } else { wordToCharMap[word] = char; } } return true; }

Powered By 可尔物语

浙ICP备11005866号-12