首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
牛客05288号
2016-09-02 21:20
大连海事大学 算法工程师
关注
已关注
取消关注
面试时遇到的一个算法题,请教大家
面试时的时候,面试官问了我一个算法题,题目大概是这样的:一个手机键盘上的数子0-9(也就是九宫格键盘),假如有两个机械臂a和b,初始位置都在0数字上,机械臂移动一步都会消耗一定的能量,问随意给定一个手机号码,两个机械臂怎样移动才会消耗最少的能量把手机号码打印出来。
希望大家给个思路,我觉得是动态规划吧,最后能把代码贴出来,谢谢了……
提示
全部评论
推荐
最新
楼层
gongzixiaomu
华南理工大学
各个数字之间的距离集合中求最小和,初步想法……
点赞
回复
分享
发布于 2016-09-02 21:26
金八铜九炮灰十
蓝翔职业技术学校
0-9一共10个数,哪来的九宫格?
点赞
回复
分享
发布于 2016-09-02 21:30
cc98
浙江大学 C++
双层的DP
点赞
回复
分享
发布于 2016-09-02 21:32
呵呵哒2333
北京理工大学 C++
这个手机号码是11位的,搜索空间很小,用普通的搜索就行了:(pos1, pos2, index) = Min(dis(pos1, telnum[index]) + (telnum[index], pos2, index+1) /*第一个机械臂从pos1移动到telnum[index]*/,dis(pos2, telnum[index]) + (pos1, telnum[index], index+1)) /*或者第二个机械臂从pos2移动到telnum[index]*/ ; (pos1, pos2, 11) = 0。 (其中dis函数是两个按键的移动消耗,O(1)的复杂度),然后可能会出现重复计算,那么就加个记忆set保存计算过的结果,还有(pos1, pos2, index) == (pos2, pos1, index)。
点赞
回复
分享
发布于 2016-09-02 22:10
牛客492426号
Java
让a去找第一个数字,达到后,a在第一个数字位置,b在0,计算a和b距离第二个数字的距离,谁近谁走,依次类推 (感觉就是计算两个点到第三个点的距离,近的变成第三个点,距离相等走a,再继续计算,个人想法,仅供参考,不知道对不对...)
点赞
回复
分享
发布于 2016-09-02 22:15
Horanol
字节跳动_Data-商业化技术_后端开发
这不是一个局部最优的题,不能用贪心算法,也就是不能每一步都取距离最小的值,这样总的步数未必是最小的。
点赞
回复
分享
发布于 2016-09-02 23:22
牛客1481368号
东北大学 C++
#include<iostream> #include <vector> using namespace std; int DistanceArry[10][10]; int Mindistance=INT_MAX; int arry[11]; int point[2]; void DFS(int index,int value) { if(index==11) { if (value<Mindistance) { Mindistance=value; return ; } } else { for(int i=0;i<2;i++) { int tmp=point[i]; int addvalue=DistanceArry[point[i]][arry[index]]; point[i]=arry[index]; DFS(index+1,value+addvalue); point[i]=tmp; } } } int main() { for(int i=0;i<11;i++) { cin>>arry[i]; } point[0]=point[1]=0; for(int i=0;i<10;i++) { for(int j=i;j<10;j++) { if(i==0) { DistanceArry[j][0]=DistanceArry[0][j]=(11-j)/3+(11-j)%3; } else { DistanceArry[i][j]=DistanceArry[j][i]=((j-i)/3)+(j-i)%3; } } } DistanceArry[0][0]=0; DFS(0,0); cout<<Mindistance<<endl; }
点赞
回复
分享
发布于 2016-09-03 09:19
我来讲一个冷笑话
University of Helsinki C++
因为数字不多,可以动态规划吧。 数字个数1,返回a,b里移动距离最小的。 数字个数大于1,返回min(a移动距离+剩下n-1个数字移动距离最小的,b移动距离,+剩下n-1个数字移动距离最小的。
点赞
回复
分享
发布于 2016-09-03 09:30
还没有回复哦~
相关推荐
11-26 17:40
西安交通大学 交互设计师
六点下班,就意味着8点才能吃晚饭
真的没人觉得6点下班晚吗?加个十几分钟的班,6:20了;再花20分钟回家,6:40了;夏季的菜一天一买,买完菜7:00了,洗菜切菜再抄菜,煮个粥,起码7:40了,公司离家8点才能吃上晚饭,更别说公司离家远的人了。 刚吃完饭还没消化呢又到睡觉时间了,一整天除了上班其他啥也干不成。
learYuan:
为什么自己做 马路边地摊10块炒粉解决
点赞
评论
收藏
分享
11-23 14:51
大连理工大学 算法工程师
秋招的最后一问,关于海康威视
经历了漫长的4个月折磨,已经打算不再考虑工作的事情了,顺其自然就是最好的安排。sad,无实习真的太难了几个月来不断的到各个社交平台看池子的开奖情况,就像一只下水道的小老鼠看到井口的阳光一样幻想着自己出去后自由自在的样子。不过很可惜,目前仅达成了保底的成就,就如同走出了阴暗的水渠,但发现外面的怪物们可以一脚给我踩死,真正期待的oc可望而不可求。来这里最后问问友友们一个关于海康机器人的问题,之后就专心写论文了,是否能从池子泡出来也不再关心了。本人方向决策算法,9月末一面,十一过后三面完成,HR沟通还有一轮线下面试。10月20号开始,海康一些部门已经陆续开奖,而我也迟迟没有等到面试消息。本来...
海康威视求职进展汇总
点赞
评论
收藏
分享
10-11 21:03
西安电子科技大学 测试工程师
孩子们,穿梭回国庆前了
😡😡😡
有工作后先养猫:
太好了,是超时空战警,我们有救了😋
点赞
评论
收藏
分享
10-14 13:25
已编辑
门头沟学院 C++
双飞硕简历修改求指导
MD没offer想跳楼了
点赞
评论
收藏
分享
11-23 11:48
北京传媒大学 经理助理
中证登25秋招经验
笔试预计在2024年12月,主要是行测和一些证券市场相关的题目,时间还算宽裕。面试方面,2024年1月会有两轮“伪群面”,一面淘汰率挺高的,内容包括自我介绍和情景题,面试官会根据简历提问。二面则是行为面和专业面,涉及到经济热点。虽然薪资待遇还不错,但竞争激烈,希望大家能顺利通过!
牛客创作赏金赛
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
13
分享
评论
提到的真题
返回内容
全站热榜
1
...
到了新公司,不要用力过猛
1.9W
2
...
寒假实习租房攻略!北京版
1.2W
3
...
泡出来啦
1.1W
4
...
华为开奖,详细时间线
1.0W
5
...
万字长文讲透金融科技方向的就业机会
8307
6
...
面试官问我最大的挫折是什么
7930
7
...
我也是好起来了,都能收到offer了
7748
8
...
不论秋招是否结束,你我都是勇敢的人
7079
9
...
华为开奖?
6579
10
...
校招两方/三方违约模板
6576
正在热议
#
25届秋招总结
#
378202次浏览
3748人参与
#
如果再来一次,你还会选择这个工作吗?
#
101865次浏览
1027人参与
#
北方华创开奖
#
64660次浏览
505人参与
#
地方国企笔面经互助
#
6054次浏览
14人参与
#
简历被挂麻了,求建议
#
2525979次浏览
33462人参与
#
发工资后,你做的第一件事是什么
#
4815次浏览
19人参与
#
阿里云管培生offer
#
46346次浏览
1379人参与
#
ai智能作图
#
11417次浏览
183人参与
#
我的实习求职记录
#
6106860次浏览
83840人参与
#
如果你有一天可以担任公司的CEO,你会做哪三件事?
#
8880次浏览
181人参与
#
上班到公司第一件事做什么?
#
14592次浏览
164人参与
#
阿里求职进展汇总
#
71846次浏览
780人参与
#
如何写一份好简历
#
616022次浏览
8700人参与
#
听到哪句话就代表面试稳了or挂了?
#
96774次浏览
810人参与
#
还记得你第一次面试吗?
#
29745次浏览
417人参与
#
华为工作体验
#
109416次浏览
852人参与
#
面试体验感最好的是哪家?
#
91611次浏览
921人参与
#
网易求职进展汇总
#
38933次浏览
334人参与
#
如果有时光机,你最想去到哪个年纪?
#
27122次浏览
559人参与
#
腾讯求职进展汇总
#
205800次浏览
1687人参与
#
硬件兄弟们 甩出你的华为奖状
#
75931次浏览
615人参与
#
上班苦还是上学苦呢?
#
106854次浏览
868人参与
牛客网
牛客企业服务