北京柠檬微趣科技有限公司,游戏客户端

线上笔试四道题:
    1.链表翻转,将链表两个两个翻转,例如(1,2,3,4)->(2,1,4,3),(1,2,3,4,5)->(2,1,4,3,5)
    2.字符串判断题目,字符串S如果能拆分成X+abc+Y则是有效的,其中X、Y需要同样满足S一样的格式或者为空字符串,否则是无效的,例如(abcabcabcabc)是有效的,(abccba)是无效的。
    3.链表排序,按照非降序排链表
    4.算收益题目。一个外卖员手上有N个单子,每一个单子都由截止时间和送达收益构成,请给出外卖员的最大收益额度。

以上题目所有的输入输出全部需要自己手动编辑,跟学校的OJ一个样子。
其中第二题记忆不深,可能有一定错误

4.29更新,约AI面
全部评论
大佬A了几道题啊,有收到面试么
点赞 回复 分享
发布于 03-09 14:14 湖南
链表排序又是用分治吧,真的烦这种题
点赞 回复 分享
发布于 03-04 22:05 英国

相关推荐

第一志愿被刷了,调剂到这边。没什么耐心就算了,人还菜。出了一道题目:数字按十进制从高位开始按链表存储,比如1234表示为1->2->3->4->NULL,给出两个链表,求两个数字相加后的链表表示。让我口述思路。13:40的面试,中午没休息好,下意识说出了两个链表顺序遍历,逐节点相加并处理进位的思路。(下意识的想法,事后我当然知道也可以先转换成数字,再相加,再表示成链表)提示我顺序错了,我说那可以先反转链表,再相加,计算结果再反转。追问怎么反转链表,我说口述说不清楚,能不能直接写出来,要不了几分钟,或者能边画边说明也行。battle了好一会儿终于同意我写出来了。写了个头结点插入法,程序张这样:(必须用C语言)```ctypedef struct node{int val;struct node* next;}listNode;listNode* reverse_list(listNode* head) {listNode dummy = {-1, head};listNode* p = head;while (p != NULL){listNode* cur = p;p = p->next;cur->next = dummy.next;dummy.next = cur;}head->next = NULL;return dummy.next;}```首先这个哑结点他看不懂什么意图,反反复复问头结点已经给我了,为什么还要定义一个头结点。我说这个哑结点没有实际意义,只是为了处理方便,哑结点的后继节点才是真正的头节点。(前驱和后继他貌似也听不懂是什么意思?)然后他又纠结原本的第一个节点怎么指向自己了?我说这不影响,因为遍历后还有一句 head->next = NULL; 原本的头结点是新的尾节点嘛。他应该还是没搞明白我说要不把完整的程序写出来运行一遍演示一下吧,结果写了一两分钟,他说只有30分钟的时间就快结束了,他要去面试下一个人。。。跟您battle的时间早够我写完整个程序了,就这水平,不去也罢
neko4:这真是技术官来面的吗?感觉像kpi面了
发面经攒人品
点赞 评论 收藏
分享
评论
10
34
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务