昨天面试了一下,几个问题答不上来,特此求教小伙伴们

2017-01-21 12:02:03 +08:00
 kingfighters
  1. 如果有一个字符串,里面是数字(是否连续和个数不定),运算符号(加减乘除)同样是否连续或者个数也是不定,还有圆括号。怎么判断这个字符串是有效的,能得到运算结果的?

我想了一下,这个问题应该是考察编译原理的内容,词法解析,但是我做不出来。我想到的办法就是用正则表达式,但是很难把所有场景都想到。求教小伙伴该怎样回答这类问题?

  1. 第二个问题是,如果现在有一个大文件,比方说类似于 raw data 的,一行是一个数字,规律是递增,一共有 1 百万行,也就是说从 1 到 1 百万,现在如果需要全部读入内存,而且不考虑系统内存的大小,也就假定系统内存足够大。问题是,我们初始化了一个数组,然后往里面填充这一百万个数据,数组变量的内存变化是怎样的。

我想了一下,在 Python 里面根本不需要考虑这样的问题,我的回答是,可能 python 解释器在背后将这个数组变成了一个链表,面试我的人感觉对于这个回答不是特别满意。面试我的人直接用了一行 java 代码初始化了数组,我也对于 java 不熟悉。求教小伙伴怎样回答这个问题比较合适?

面试的是一家非常好的公司,面试的岗位是 Python 自动化开发。感谢小伙伴的时间。

7467 次点击
所在节点    程序员
46 条回复
syv2
2017-01-23 02:24:39 +08:00
syv2
2017-01-23 02:48:36 +08:00
贴图失败 = =,再试一次
ybh37
2017-01-23 10:17:24 +08:00
第一题,在实际应用场景下,我倾向于使用二叉树解决,虽然我也知道栈更简单
实际的表达式计算中常常包含单目、多目、括号等,还有可能混杂常数等情况
[ipad 下某计算器的原作者]

就本题而言,用栈
tao25
2017-01-23 11:05:53 +08:00
强力推荐《剑指 offer 》,笔试面试基本不用愁
ryd994
2017-01-23 20:36:52 +08:00
第一题其实用树也不错吧,反正把语法树拉出来一看就明了了
kingfighters
2018-05-16 21:43:44 +08:00
经过一年多的学习,leetcode 也刷了三百多道题目,再看看这个问题,感觉当时实在是太弱鸡了。。

谢谢楼上的诸位!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/336029

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX