首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
05-19 15:08
门头沟学院 前端工程师
快手前端面试
快手前端面试一、面试核心考点(全覆盖)双 Token 无感登录(全程重点)RefreshToken 过期处理微服务鉴权架构:网关 / 登录中台 / 业务服务现场手写:秒数转时分秒 + 开始倒计时 + 复位二、每道题标准答案(可直接复用)1. 双 Token 无感登录实现登录返回 AccessToken(短) + RefreshToken(长)前端请求携带 AccessToken过期由服务端 / 网关返回 401前端自动用 RefreshToken 刷新,成功则重试接口,用户无感前端不判断过期,只做携带、刷新、重试2. RefreshToken 也过期怎么处理响应拦截器统一捕获清空 Token、...
查看4道真题和解析
点赞
评论
收藏
分享
05-19 11:41
北京邮电大学 Java
美团本地核心商业-业务研发平台
全程拷打项目,无八股。项目拷打的比较深,会代入具体场景说明解决思路,还有部分设计和bug解决思路。最后问了AI coding的交互思路以及CR做的怎么样。八成已挂,面试官人很好的,一直引导,非常有耐心。可惜lz太菜了
查看6道真题和解析
点赞
评论
收藏
分享
05-20 11:39
华中科技大学 全栈开发
逆天操作,也是让我遇到了
真是逆天,今天突然收到前司leader的微信,让我请假一天回去帮他修bug,写需求气不过,骂了回去,资本家们都这么不要face的吗?兄弟们,怎么看
迷茫的大四🐶:
就得狠狠地骂回去
点赞
评论
收藏
分享
05-20 22:17
门头沟学院 Unity3D客户端
实习一个星期,我因为只加了20分钟班被开除了
我是上个星期三入职的,然后是6点半下班,今天下班的时候还有些东西没弄完,加了20分钟班,回家了,结果老板直接发QQ问我怎么走了,项目出问题了怎么办,你这样子不配合还要不要实习了,由于我确实不想在这里干了,于是直接跟老板说不干了。还好我已经找到一个更好的公司了,要不然只能加班了
Bolaxious:
我以为是因为加班被开了,结果是因为加班太少被开了
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
13
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
27双非ue游戏客户端大失败经历
6619
2
...
各位都是怎么出去实习的
5106
3
...
作为一个老登,最烦应届生问的问题之一
4863
4
...
逆天领导,因为一句话要把我开除了
4793
5
...
理性讨论,卷实习算不算工贼行为?
3993
6
...
三段大厂,说下我见过的最低学历
3195
7
...
26博士求职竟然也难
3042
8
...
双非想拿腾讯offer,会被卡学历吗?
3013
9
...
26春招毁意向黑名单
2799
10
...
5.18字节(中国广告与交易)75分钟
2415
创作者周榜
更多
正在热议
更多
#
如何成为1个AI工程师?
#
7021次浏览
317人参与
#
面试被问期望薪资时该如何回答
#
407174次浏览
2224人参与
#
26届春招投递记录
#
41591次浏览
353人参与
#
我在大厂见过的最低学历
#
7205次浏览
72人参与
#
27届实习投递记录
#
129331次浏览
1442人参与
#
你觉得第一学历对求职有影响吗?
#
277282次浏览
1497人参与
#
你觉得机械有必要实习吗
#
89399次浏览
538人参与
#
要毕业了,再不说就来不及了
#
11874次浏览
174人参与
#
大疆工作体验
#
34514次浏览
95人参与
#
机械人你觉得今年行情怎么样?
#
9979次浏览
100人参与
#
AI面会问哪些问题?
#
138364次浏览
3776人参与
#
你在职场上见过哪些“水货”同事
#
42169次浏览
181人参与
#
秋招拿一个offer可以躺平吗
#
278065次浏览
1413人参与
#
虹软科技求职进展汇总
#
18630次浏览
141人参与
#
工作丧失热情的瞬间
#
401790次浏览
2590人参与
#
你今年的平均薪资是多少?
#
230875次浏览
1071人参与
#
我的上岸简历长这样
#
854563次浏览
11604人参与
#
机械人求职现状
#
44205次浏览
329人参与
#
秋招白月光
#
819760次浏览
5695人参与
#
求职你最看重什么?
#
170686次浏览
916人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务