记录第一次正式面试。
算法题
括号匹配
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
/*
(){}[]
()(){}()
(()){()}
)()()(
*/
/*
- 展开详细讲述
*/
class Stack {
constructor() {
this.stack = [];
}
push(value) {
return this.stack.push(value);
}
pop() {
return this.stack.pop();
}
peek() {
return this.stack[this.size() - 1];
}
size() {
return this.stack.length;
}
isEmpty() {
return this.size() === 0;
}
}
function testSign(str) {
const Map = {
"{": "}",
"(": ")",
"[": "]"
}
const myStack = new Stack();
for (let v of str) {
// {} ()
if (Map[v]) {
myStack.push(v); // 左括号入栈
} else if (Object.values(Map).includes(v)) {
let last = myStack.pop(); // 取出栈顶元素 {
if (v !== Map[last]) return false;
}
}
return myStack.size() === 0;
}
console.log(testSign("([]{){}}"));
</script>
</body>
</html>
别的
我忘了。
总结
下次直接讲电商项目。
一定要卖开力把知道的展开详细讲。
本人没这个意识,面试官问啥,我说啥。希望好运。
第一次面试,面试官人很好,很温柔。谢谢,祝我好运。