m******9 发帖数: 15 | 1 本人EE,嵌入系统多年,最近实在熬不住码工大潮准备下水一试,
本来以为搞习惯了C,搞定C++小菜一碟,现在才发现隔行如隔山,复习了几个月还是满
目茫然.
年轻小印。
先问C++基础问题,
default method有那几个,
copy constructor and assignment operator的 syntax.
static的各种用法.
destructor 可以不可以放 throw exception,我答不可以。他说错了,是可以的,但不
推荐云云.
然后算法小题.
一个 0-9的数字 stream,如何在中间停住然后输出 sorted 数字. 挣扎了几次后终于想
到建个 vector[10],直接 count 0-9的个数就可以了.
一个字符 stream,中间有 {, }, [, ],如何判断是不是一个 valid的表达式.
我说弄两个 counter,每个字符判断一下就可以了,
他说对于这个CASE可以,
如果要判断的表达式不单单是括号而是 N多怎么办,
他提示说用 map加 stack,还是没有理解。实在没想出来,跪了。
用时45分钟.
估计是挂了, 唉,码工路漫漫,特别是我这种又要上班,又要复习的人.
偏偏工作的内容和码工又差实在太多. |
p*****2 发帖数: 21240 | |
m******9 发帖数: 15 | 3 大牛给解释解释第二道题呗?
【在 p*****2 的大作中提到】 : 正常
|
p*****2 发帖数: 21240 | 4 最基本题用stack就可以了
【在 m******9 的大作中提到】 : 大牛给解释解释第二道题呗?
|
m******9 发帖数: 15 | 5 stack的确是很直接,但他反复提示用map和 stack,这个怎么实现?
【在 p*****2 的大作中提到】 : 最基本题用stack就可以了
|
p*****2 发帖数: 21240 | 6
用map存pair
你长期用C,对数据结构的感觉就变差了
我把面试用到的数据结构和算法 总结在我的博客里了。你可以复习一边。
你这两道题在我总结的算法部分都包括了,count sort 和 stack (我stack归在了算
法类)
你按照我的文章复习一遍,面试应该这块问题不大了。
【在 m******9 的大作中提到】 : stack的确是很直接,但他反复提示用map和 stack,这个怎么实现?
|
p*****2 发帖数: 21240 | |
m******9 发帖数: 15 | |
l*******2 发帖数: 114 | |
b******g 发帖数: 77 | 10 Example
{a[b]c} is valid
[a{b]c} is invalid
{{a} is invalid
{a}} is invalid
bool isExpressionValid(fstream & fin)
{
stack s;
char c;
while (fin.good())
{
fin >> c;
if (c == '{' || c == '[')
s.push(c);
else if (c == '}')
if (s.empty() || s.top() != '{')
return false;
else s.pop();
else if (c == ']')
if (s.empty() || s.top() != '[')
return false;
else s.pop();
}
if (!s.empty()) return false;
else return true;
}
【在 m******9 的大作中提到】 : stack的确是很直接,但他反复提示用map和 stack,这个怎么实现?
|
h*u 发帖数: 122 | |