首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
12-05 10:30
美团_HR(准入职员工)
浩鲸科技内推,浩鲸科技内推码
浩鲸科技测试工程师(福州)timeline2.25投递3.13一面3.18二面一面✅线上进行,面试官很友好,深挖简历和项目,问得很细,细到比赛里使用的软件,还问了测试工程师需要具备什么特质;专业知识问了mysql相关的两个问题,只删除数据不删除整个表用什么语句命令?有个表格,想要按照什么要求进行升序排列,用什么语句?自我感觉mysql回答的不好,毕竟没怎么看过但是没想到还是收到了二面邀请全程持续二十分钟左右🕧二面✅线上进行,面试官更友好大多时候是在闲聊,简历问的很少,还让我用英文介绍自己的家乡(我也是二面才发现我投的是国际的岗位)全程持续30分钟左右🕧在讨论到我喜欢出差时,面试官觉得我更适...
点赞
评论
收藏
分享
今天 13:37
山东大学 嵌入式软件工程师
尽量去更大的私企,你要的是未来,而不是一张体面的入场券
通往头部国企的道路,正在变得越来越窄。岗位越来越少,竞争的人却越来越多,而且你会发现,比你优秀的人永远不缺。这也是为什么,我现在给师弟师妹们的建议,反而是:如果能选择,尽量去更大的私企。去年我秋招的时候,航空、航天、电子、船舶等军工研究所的 offer 拿了不少,最后定在一家央企的省公司。当时看着还不错,但今年再看,同类岗位直接肉眼可见地减少了。我司甚至岗位直接归零,不再招聘。门槛也明显抬高:以前某些岗位不卡本科背景,现在本科也得 211 起步。以前大家还能凭项目或者竞赛弥补一下学历,现在很多简历连初筛都过不去了。反观不少大的私企,尤其是互联网和头部制造企业,他们反而对学历的要求没那么死板。更...
刚工作,应该先搞钱or搞...
点赞
评论
收藏
分享
11-06 16:50
门头沟学院 Java
无敌了HR
给我气笑了
用微笑面对困难:
word打字比赛二等奖的我,也要来凑合凑合
点赞
评论
收藏
分享
12-04 09:49
深信服_JAVA研发工程师(准入职员工)
深信服内推,深信服内推码
🌟工作内容与氛围: 我作为实习生能够真正地参与到了小组项目的迭代工作,不是简单地打杂工作。目前我已经接触到两个专题的需求迭代,一个由我完全负责,另一个和leader一起开始需求分析。在短短地两个月内,我对产品认知的八股文(产品经理能力、产品经理工作内容等)有了自己真正的感受和认识,不再是简单地文字理解。当然,实习工作也是对自己产品全方面能力的不断提升。 我导师不仅在工作上能及时得解答我的疑问,也会关心生活上我的不便,比如因为体检报告未出推迟入职,leader会主动关心我实习住宿的问题;电话沟通发现我声音和平时不一样,会主动询问我是否感冒不舒服,是否需要请假休息等。深信服的理念之一“简单有爱”...
深信服公司福利 804人发布
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
13
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
7天10面 来分享一下我的11月面筋!
7795
2
...
数字马力第二批
2391
3
...
这环境。。。我来谈谈选择和长期主义
2378
4
...
零经验也能斩获实习offer
2192
5
...
数字马力AI岗统计
1967
6
...
小红书商业化技术Java一面(挂)
1922
7
...
工作两年裸辞读研,我后悔了吗···
1922
8
...
都是匆忙的选择,感觉人生真的很儿戏
1776
9
...
26岁的我,后悔读双非硕士
1767
10
...
27届211本 百度测开实习要去吗
1612
创作者周榜
更多
正在热议
更多
#
offer帮选
#
4813443次浏览
29222人参与
#
0经验如何找实习?
#
1565次浏览
54人参与
#
百融云创求职进展汇总
#
3710次浏览
43人参与
#
校招薪资来揭秘
#
351904次浏览
1913人参与
#
产品每日一题
#
72200次浏览
641人参与
#
OC/开奖
#
282374次浏览
1753人参与
#
你找工作经历过哪些骗局?
#
698次浏览
24人参与
#
你开始找寒假实习了吗?
#
1754次浏览
24人参与
#
实习,不懂就问
#
135101次浏览
1252人参与
#
如果公司降薪,你会跳槽吗?
#
108288次浏览
670人参与
#
跳槽时有那些注意事项
#
113228次浏览
581人参与
#
秋招被确诊为……
#
273340次浏览
1570人参与
#
Offer比较,你最看重什么?
#
241934次浏览
1497人参与
#
2025年终总结
#
21547次浏览
295人参与
#
你会为了工作牺牲生活吗?
#
64398次浏览
433人参与
#
职场新人体验
#
152743次浏览
1110人参与
#
第一份工作能做外包吗?
#
88670次浏览
588人参与
#
硬件兄弟们 甩出你的华为奖状
#
117961次浏览
702人参与
#
25届暑期实习
#
1029994次浏览
20516人参与
#
学历or实习经历,哪个更重要
#
204523次浏览
1087人参与
#
实习中的菜狗时刻
#
449856次浏览
3517人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务