首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客05288号
2016-09-02 21:20
大连海事大学 算法工程师
关注
已关注
取消关注
面试时遇到的一个算法题,请教大家
面试时的时候,面试官问了我一个算法题,题目大概是这样的:一个手机键盘上的数子0-9(也就是九宫格键盘),假如有两个机械臂a和b,初始位置都在0数字上,机械臂移动一步都会消耗一定的能量,问随意给定一个手机号码,两个机械臂怎样移动才会消耗最少的能量把手机号码打印出来。
希望大家给个思路,我觉得是动态规划吧,最后能把代码贴出来,谢谢了……
提示
全部评论
推荐
最新
楼层
我来讲一个冷笑话
University of Helsinki C++
因为数字不多,可以动态规划吧。 数字个数1,返回a,b里移动距离最小的。 数字个数大于1,返回min(a移动距离+剩下n-1个数字移动距离最小的,b移动距离,+剩下n-1个数字移动距离最小的。
点赞
回复
分享
发布于 2016-09-03 09:30
牛客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
Horanol
字节跳动_Data-商业化技术_后端开发
这不是一个局部最优的题,不能用贪心算法,也就是不能每一步都取距离最小的值,这样总的步数未必是最小的。
点赞
回复
分享
发布于 2016-09-02 23:22
牛客492426号
Java
让a去找第一个数字,达到后,a在第一个数字位置,b在0,计算a和b距离第二个数字的距离,谁近谁走,依次类推 (感觉就是计算两个点到第三个点的距离,近的变成第三个点,距离相等走a,再继续计算,个人想法,仅供参考,不知道对不对...)
点赞
回复
分享
发布于 2016-09-02 22:15
呵呵哒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
cc98
浙江大学 C++
双层的DP
点赞
回复
分享
发布于 2016-09-02 21:32
金八铜九炮灰十
蓝翔职业技术学校
0-9一共10个数,哪来的九宫格?
点赞
回复
分享
发布于 2016-09-02 21:30
gongzixiaomu
华南理工大学
各个数字之间的距离集合中求最小和,初步想法……
点赞
回复
分享
发布于 2016-09-02 21:26
暂无评论,快来抢首评~
相关推荐
07-01 21:57
蔚来_AI算法应用工程师(准入职员工)
蔚来内推
蔚来汽车AS一面面经7/5面试普通二本,老师推荐给的机会给蔚来投的简历,因此直接进入面试流程帖主有2个基本项目:1.selenium爬虫做招聘词条分析的简单项目2.美赛F奖的一个传统算法与机器学习相结合的音乐流派分析项目。1面:1.常规自我介绍2.介绍一下自己的第2个项目,然后我给面试官讲了为什么构建人际网络我不选择机器学习而是并查集,以及相似度类比用到的余弦相似度与k-means聚类,然后面试官问了一下k-means的原理与底层实现注意的细节,k-means的k值你是怎么定的呢?调参效果如何?余弦相似度介绍下为什么选择,他有什么优势吗?3.看了一下ACM经历,介绍下自己竞赛经历给你带来了什么...
点赞
评论
收藏
分享
07-02 11:05
广东工业大学 算法工程师
没人告诉我上了班后这么痛苦啊
通勤就够累了,回到家吃完饭后自由支配的时间更是少之又少,第二天又要去上班。大学好歹每天课程时间不一,上班却是天天都早八满课的程度。有没有一样痛苦的兄弟,大家一起聊聊天啥的
点赞
评论
收藏
分享
06-03 19:26
西北农林科技大学 C++
这是什么中老年人的发言
上来就是就业毫无难度😅
Twilight_m...:
经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞
评论
收藏
分享
05-22 12:44
已编辑
门头沟学院 golang
不要小看双非之力呀魂淡!
鼠鼠我总算是闯进大厂啦
ResourceUt...:
太强了佬
度是白月光
双非有机会进大厂吗
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
07-03 16:46
家人们谁懂啊!!在实习期间狠狠被mt老师PUA了😫
今天本来好好的,结果带教老师当着众人的面,直接大声叫我的名字,我过去还没站稳,劈头盖脸就是一句:“你这搞的什么玩意啊!没带脑子上班吗”那语气、那眼神,仿佛我做了什么十恶不赦的大事。我到底干啥了?不过是一些小疏漏,谁刚开始实习不会犯错啊?可她倒好,不仅不耐心指导,还这样贬低我。我满心的热情和期待,瞬间被浇了个透心凉🥶我也是爹妈疼爱的宝贝,来实习是为了学习、成长,不是来被人随意羞辱的!真心希望遇到的带教老师能多些耐心和善意,毕竟谁都有从零开始的时候,这样的“教育”方式,真的只会让人越来越没自信
实习吐槽大会
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
13
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
美团面经,已oc
2.9W
2
...
我是一个能独当一面的大人吗
1.3W
3
...
大家觉得测试还能活多久
1.1W
4
...
我举报了室友面试作弊
7121
5
...
大家在大厂实习会发朋友圈吗
5759
6
...
25届校招入职一周,目前感觉良好
5574
7
...
面试稀烂但是拿到大厂offer了...
5473
8
...
工资不花,难道存起来?
5017
9
...
加班到十点,连续加班两个星期,这是实习生的强度吗?
4332
10
...
拒offer时hr很生气怎么办
4165
创作者周榜
更多
正在热议
更多
#
你觉得实习能学到东西吗
#
31367次浏览
639人参与
#
机械人集合!你是什么工程师?
#
15415次浏览
89人参与
#
现代汽车前瞻技术研发急速编程挑战赛
#
26161次浏览
212人参与
#
秋招什么时候开投比较合适?
#
19377次浏览
276人参与
#
发工资后,你做的第一件事是什么
#
67627次浏览
229人参与
#
如何准备秋招
#
18352次浏览
350人参与
#
百度工作体验
#
219679次浏览
1959人参与
#
机械人与华为的爱恨情仇
#
116293次浏览
942人参与
#
工作中哪个瞬间让你想离职
#
25511次浏览
177人参与
#
硬件应届生薪资是否普遍偏低?
#
73660次浏览
514人参与
#
不考虑转正,实习多久合适
#
31658次浏览
145人参与
#
影石Insta360求职进展汇总
#
123188次浏览
1069人参与
#
通信和硬件还有转码的必要吗
#
57315次浏览
526人参与
#
24届的你们都什么时候入职?
#
60008次浏览
424人参与
#
面试被问期望薪资时该如何回答
#
256049次浏览
1479人参与
#
实习,不懂就问
#
42382次浏览
648人参与
#
你们公司几号发工资
#
20575次浏览
139人参与
#
软开人,秋招你打算投哪些公司呢
#
102503次浏览
958人参与
#
每个月的工资都是怎么分配的?
#
25463次浏览
410人参与
#
如果你有一天可以担任公司的CEO,你会做哪三件事?
#
29046次浏览
460人参与
#
你觉得现在还能进互联网吗?
#
7640次浏览
130人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务