MetaAPP笔试复盘(我真的很菜,还有1/3多没做完)

笔试一共三道编程题(1.5小时内完成),每一道编程题有三小问,每一小问的结果作为下一小问的输入参数

题目难度是简单,没有什么弯弯绕绕的算法题,都是常规性的操作。

第一题:(1)输入一个数,计算这个数字各位的和,如果和为个位数则返回,否则在再对和计算各位和,直到最终各位和为个位数,返回这个个位数,写代码的时候发现自己有点忘了“/”是不是向下取整了;

(2)对输入的整数寻找约数,并把约数从大到小排列,大于8个约数只返回最大的8个,返回一个数组。我用了插入排序,差点就想着用快排了,好猪,,不过想到快排的时候出了一手冷汗,因为发现忘了快排怎么写;

(3)输入一个数组,如果数组长度大于或等于33,则返回第33个元素;如果数组长度大于或等于33/2,则返回第33/2个元素;如果数组长度大于或等于33/4,则返回第33/4个元素;以此类推……,就很简单的选择分支结构,if else if else就过去了,不知道有没有更简单的方法,还是说可以用Switch(我真不熟这个)。我觉得这道题戳中我的地方在于,怎么判断数组的长度,因为我第二问是直接定义10000长度的数组,所以在第三问用的是if((nums+33)),如果不是NULL,那就说明数组长度有33,不知道这样对不对。看来还是得学点c++,我记得c++好像有函数是可以直接调用获取数组长度的,可是想我这样定义,获取到的长度是不是10000啊。。。所以这题对我来说主要的难点是,,怎么获取数组长度。

第二题:(1)跟第一题(1)一样

(2)输入一个整数,求这个整数的八进制,用数组表示并返回

(3)这个有点难,输入一个数组,把数组的元素编号视为小朋友们,编号从1开始,每次叫到5的离开,再从下一位开始叫1;这样子反复,请问最后一位离开的元素是?这个难,因为,,好像也不难。现在的想法是用循环链表来做,在给每个节点多加一个属性叫“在/不在”来标识元素是否已离开,一直取未离开的节点数到第五个踢开,再用一个int统计一下踢走的数量,踢走n-1个元素的时候就返回,,但感觉是很笨很直接的方法。

第三题,没来得及看,,,害

#笔试##MetaAPP#
全部评论
每天进步就好
点赞
送花
回复 分享
发布于 03-30 17:00 广东

相关推荐

#牛客帮帮团来啦!有问必答#>介绍一下背景,鼠鼠是农村家庭出来的,初中读的区域划分的学校名列前茅,高中侥幸进了重点高中,发现了许多同学不用努力也能有美好的未来,感到落差,但是觉得自己成绩好肯奋斗一定也有美好的未来。上了一所211大学读计算机,选这个是为了挣钱,而且感觉是需要一定技术积累的工作。>大学做过班级的边缘班干部,也参加过两个社团,大三下匆匆准备考研,但是因为生病的原因九月才算正式开始,后面也没有拼死拼活的学(对自己还是太好了),果不其然没考上,自己心气太高选了个985,如果选自己学校的话大概率是能上的,一切的选择都浑浑噩噩。>玩了一个寒假才准备找工作(真是一个懒惰的人),同样开学才开始找工作的考研失败的同学都已经找到了,而我还在苦苦挣扎,今天久违的做了一个公司发来的笔试,发现自己以前会的都忘了,上一次做笔试已经很久了>现在就是没有工作,毕设也一塌糊涂,想换个手机还有毕业旅行的心愿感觉也完成不了(找爸妈要钱肯定会给,但是感觉自己变成大人了不好意思理直气壮的去享乐了),不知道自己下一步该干嘛,有大佬支支招吗?这两天想了下自己,文字功底尚可(高中写的小作文能被语文老师发朋友圈还有其他老师来夸),心思很细腻(同时也敏感),学习能力尚可(能短时间速成一个语言完成作业),英语成绩和口语尚可(之前还投了教培的英语但没过,想想自己怎么和专业英语生比,怎么就投英语了哈哈),有人能帮忙分析一下我还适合当程序员吗,感觉自己是five😥 #我的求职思考# #牛客在线求职答疑中心# #牛客解忧铺#
点赞 评论 收藏
分享
点赞 6 评论
分享
牛客网
牛客企业服务