注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看,没有帐号?注册账号
x
今天面了一个半星期前约的电面,国人小哥面的,题目不是很难,两道题各写一个函数,statement如下:
1. merge two arrays in-place
例子:
a = [2,4,6,8, _, _, _, _]
b = [1,3,5,7]
Note:_代表空的位置,用以merge。a的actual length与b一样,并且a的空余位置足够放入b。a, b都是sorted array,要求in-place merge两个array。
感受:题目条件明确,简单思路就是从两个数列的尾部(这个例子中对于a是从8开始)比较,哪个更大就放在a的末端。需要注意到当a被遍历完后,要将b剩下的数字照搬到a的前端。
2. balance parentheses in a string
例子:
"(a)()" -> "(a)()"
"((bc)" -> "(bc)"
")))a((" -> "a"
"(a(b)" ->"(ab)" or "a(b)"
Note: balance的意思就是把原来string里unpaired的括号变成paired的形式。如果有多个可能的结果, 比如上述最后一种情况,我们就只需要输出一个对的结果即可,所以这点简化了题目的难度。
感受: 遍历string, 用一个stack存储每个open parenthesis的index,也就是'('的i4.gif" smilieid="112" border="0" alt="" />然后我觉得我的解法也行的通,所以跟他说了下,他也表示认同,但需要回去检验下。欢迎大家参与讨论!
就是这样。
希望进入下一轮吧 ,顺便求点大米!
|