一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 636|回复: 10
收起左侧

amazon OA2 c++ 为什么testcase过不了

[复制链接] |试试Instant~ |关注本帖
oushihuahua 发表于 2017-10-13 10:27:53 | 显示全部楼层 |阅读模式

2017(10-12月) 码农类 本科 实习@Amazon - 校园招聘会 - 在线笔试 |Other其他

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
如题
我今天参加了Amazon在学校的on campus assignment 是9月初在校园招聘会上投的简历 然后过了一个月来的邮件
其实就是大家坐在一起 OA1+OA2两连做 还有pizza吃. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
前面很顺利 都是面经里的题-google 1point3acres

但是coding部分 就有问题了. Waral 鍗氬鏈夋洿澶氭枃绔,
两道题 一道是反转后半个链表 一个是括号匹配
我自认为写的代码没有问题. 鍥磋鎴戜滑@1point 3 acres
但是括号匹配11/14 testcase pass. 鍥磋鎴戜滑@1point 3 acres
反转链表6/13 testcase pass
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
我把我写的代码贴出来 恳请大家指出来到底是哪里有问题 因为我完全不觉得自己写的有问题
接口还原了原题 一模一样的接口 也给大家做个接口的参考 语言:c++

括号匹配:只有(和) 输入也只包含这两个
int parent(char* str)
{
        if (str == NULL || strlen(str) == 0)
                return 0;
        int len = strlen(str);
        int match = 0;
        for (int i = 0; i < len; i++)
        {
                if (str == '(')
                        match += 1;
                else if (str == ')')
                        match -= 1;
        }
        if (match == 0)
                return len / 2;. 鍥磋鎴戜滑@1point 3 acres
        else
                return -1;
}

反转后半个链表:奇数个的话中间那个也算后半段 lnode写好了 不用自己写
lnode* reversehalflink(lnode* list)
{. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        if (list == NULL || list->next == NULL)
                return list;
        lnode* fast = list->next;
        lnode* slow = list;
        while (fast->next != NULL && fast->next->next != NULL)
        {
                slow = slow->next;
                fast = fast->next->next;
        }. 1point 3acres 璁哄潧
        lnode* cur = slow->next;
        lnode* pre = NULL;. 1point 3acres 璁哄潧
        while (cur != NULL). from: 1point3acres.com/bbs
        {
                lnode* nexttmp = cur->next;. From 1point 3acres bbs
                cur->next = pre;.1point3acres缃
                pre = cur;
                cur = nexttmp;-google 1point3acres
        }
        slow->next = pre;
        return list;
}
跪谢 跪谢

补充内容 (2017-10-13 10:57):
第一个未解之谜已经解决
match要时刻>=0 否则类似“)(”的字符串也会被判定为有效

补充内容 (2017-10-13 11:47):
求看看第二题 感谢感谢
slayeraxx 发表于 2017-10-13 10:51:34 | 显示全部楼层
第一题,不能只查左右括号最后的总数是不是一样,iteration中间也要查。
比如()))((,是不balanced的,但你的solution不会return -1
回复 支持 反对

使用道具 举报

MacJordan 发表于 2017-10-13 10:52:03 | 显示全部楼层
关注一下 第一个输入一定是正确的嘛 不会有(()这种?
回复 支持 反对

使用道具 举报

 楼主| oushihuahua 发表于 2017-10-13 10:53:40 | 显示全部楼层
slayeraxx 发表于 2017-10-13 10:51 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
第一题,不能只查左右括号最后的总数是不是一样,iteration中间也要查。
比如()))((,是不balanced的,但 ...

哇,感谢!非常有道理!. visit 1point3acres.com for more.
match要时刻>0
回复 支持 反对

使用道具 举报

子怡怡起床了 发表于 2017-10-13 10:53:42 | 显示全部楼层
按照你的code,)(也会判断成valid的吧。
回复 支持 反对

使用道具 举报

MacJordan 发表于 2017-10-13 10:56:39 | 显示全部楼层
括号那个是lc20吧? 用stack做
回复 支持 反对

使用道具 举报

 楼主| oushihuahua 发表于 2017-10-13 11:32:36 | 显示全部楼层
MacJordan 发表于 2017-10-13 10:56. 鍥磋鎴戜滑@1point 3 acres
括号那个是lc20吧? 用stack做

这个题只有小括号 所以比较简单 貌似用int就可以
回复 支持 反对

使用道具 举报

kathywyq88 发表于 2017-10-13 11:43:59 | 显示全部楼层
哪个学校的?亚麻校招后还返还学校做笔试吗?第一次看到
回复 支持 反对

使用道具 举报

 楼主| oushihuahua 发表于 2017-10-13 11:47:50 | 显示全部楼层
kathywyq88 发表于 2017-10-13 11:43
哪个学校的?亚麻校招后还返还学校做笔试吗?第一次看到

南部某村里的学校
回复 支持 反对

使用道具 举报

kathywyq88 发表于 2017-10-13 12:10:19 | 显示全部楼层
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
哦,谢谢,看来是优待的target学校
回复 支持 反对

使用道具 举报

calvinyhchen 发表于 2017-11-15 16:08:36 | 显示全部楼层
請問樓主之後有消息嗎
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-12-14 10:39

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表