首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
昨天 16:12
蓝禾技术_电商事业部_电商运营管培生(准入职员工)
蓝禾科技内推,蓝禾科技内推码
面经:蓝禾的流程推得很快,基本上投完两天就接到了hr的初试电话,直接进行了初试。初试全程大概三十分钟,hr小哥态度很和善。主要问了实践经历获奖的情况最有成就感的事情对电商运营的理解选择公司的标准等,都是比较常规的问题。禾你一起,做不可能的事 | 蓝禾26届校招启动啦公司介绍:蓝禾2008年成立于深圳,是一家集产品、设计、研发、品牌、营销、大数据运营于一体的创新型科技公司,旗下拥有图拉斯TORRAS、锐舞RANVOO、卡斯酷CASEKOO等多个品牌招聘岗位:运营(国内)、运营(国外)、营销、设计、研发技术、职能工作地点:深圳内推链接:https://lanhevip.jobs.feishu.cn...
点赞
评论
收藏
分享
12-11 13:36
美的集团_AIGC算法工程师(准入职员工)
美的集团内推,美的集团内推码
美的嵌入式开发工程师正式批(AI面bg双9(中间gap一年)投递:8.18AI面:8.21,25min1.自我介绍2.分享一个当你遇到挑战性的任务时,如何设定并实现高标准目标的经历3.举一个高效完成任务的例子,都采取了哪些行动?怎么确保顺利完成的?4.分享一个你完成的创新性的项目,怎么完成的?创新点是什么?结果如何?5.英语回答:你为什么选择这个方向的工作?你未来三年的工作规划是什么?6.彩色的图推,题目数量不定,有总时间限制7.性格测评前面的中文回答都是没有思考时间直接开始录制的,英文回答可以思考,也可以重录;图推个人觉得蛮难的,性格测评题量比较少世界五百强-美的集团2026届校园招聘启动啦...
点赞
评论
收藏
分享
10-23 12:04
北京信息科技大学 材料工程师
这个简历有点强
这简直就是我
双尔:
你就写拥有ai开发经历,熟练运用提示词,优化ai,提高ai回答质量
点赞
评论
收藏
分享
10-26 20:54
腾讯_后台开发(实习员工)
招银 offer(超级大白菜)
深圳 一个月终于泡出来去不了一点
后端转测开第一人:
你不是干销售吗
秋招的第一个offer,...
点赞
评论
收藏
分享
12-13 12:11
复旦大学 Java
今天周六不休息,继续看简历!
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
13
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
别等了,渣男不会为了你离婚的!
5387
2
...
爱情?事业?应作如是观
5168
3
...
双非鼠鼠秋招有感
4518
4
...
28届到底选什么方向合适
3501
5
...
27前端要不要寒假找实习
3054
6
...
签下三方时我没有任何情绪波动,继续努力向前行
2858
7
...
字节26校招前端一面
1927
8
...
求助,老丈人终面如何准备
1875
9
...
一直说我工作不饱和的+2歹人
1652
10
...
选择校招/实习Offer的逻辑
1527
创作者周榜
更多
正在热议
更多
#
摸鱼被leader发现了怎么办
#
73987次浏览
421人参与
#
工作后明白的那些道理
#
30525次浏览
339人参与
#
工作后,你落下了哪些病根
#
1427次浏览
33人参与
#
电网求职进展汇总
#
33424次浏览
90人参与
#
你学到的“最没用”的职场技能是
#
1325次浏览
28人参与
#
七夕节你打算怎么过?
#
70081次浏览
806人参与
#
业务面应该做哪些准备
#
80562次浏览
831人参与
#
国央企笔面经互助
#
172467次浏览
1211人参与
#
你见过最离谱的招聘要求是什么?
#
245534次浏览
1691人参与
#
满帮集团求职进展汇总
#
13284次浏览
95人参与
#
拼多多求职进展汇总
#
798271次浏览
6452人参与
#
上班到公司第一件事做什么?
#
113930次浏览
787人参与
#
职场破防瞬间
#
352689次浏览
2827人参与
#
工作两年想退休了
#
208278次浏览
1844人参与
#
硬件人秋招的第一个offer
#
111141次浏览
1426人参与
#
国企/银行/研究所公司爆料
#
177680次浏览
889人参与
#
视觉/交互/设计招聘信息汇总
#
24422次浏览
634人参与
#
产品人求职现状
#
299194次浏览
2363人参与
#
如果可以选,你最想从事什么工作
#
672384次浏览
4848人参与
#
满分简历要如何准备?
#
249613次浏览
2961人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务