function findovo(s) { let ans = 0; const n = s.length; for (let i = 0; i < n; i++) { if (s[i] === 'v' || s[i] === '?') { // 统计左侧符合的字符数量 let leftCount = 0; for (let j = 0; j < i; j++) { if (s[j] === 'O' || s[j] === '?') { leftCount++; } } // 统计右侧符合的字符数量 let rightCount = 0; for (let k = i + 1; k < n; k++) { if (s[k] === 'O' || s[k] === '?') { rightCount++; } } ans += leftCount * rightCount; } } return ans; } // 测试用例 const s1 = "OOvOO"; const s2 = "O?v??"; const s3 = "?????"; console.log(findovo(s1)); // 输出:4 console.log(findovo(s2)); // 输出:8 console.log(findovo(s3)); // 输出:10算法题这么写比较简单,两个for循环