首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
04-09 18:21
门头沟学院 业务管理
同学问我为什么投简历这么快
室友今天问我:你怎么投简历投这么快的? 她看我十分钟投了三家,以为我简历写的很短(不是!) 解释了一下,就是用了网申助手,把重复填表这部分省掉了。 简单说一下是什么: 牛客出的Chrome插件,把基本信息录进去一次(姓名学校专业项目经历这些),之后打开任何网申页面,点一下自动填,不用每次重新输。 我投的这几家都能用:字节、腾讯、美团、阿里、网易、快手,大厂没遇到问题。 【我的用法】 早上统一开几个网申tab,插件自动填好,我逐个检查开放题(自我介绍/为什么选我们要自己写),确认没问题提交。 以前投一家要15分钟,现在五家加起来20分钟,剩下时间拿去背面试题。 【缺点也说一下】 个别小厂识别失败...
点赞
评论
收藏
分享
今天 10:11
北京大学 Java
江南村镇信用卡办理 国家乡村振兴政策
江南村镇信用卡办理 国家乡村振兴政策 信用卡第一次使用年轻工程师oppo公司深圳福田软件部门和君美供应生生产企业web3.0 的人力资源管理系统。深圳交通银行办理信用卡2022年根据薪资定义个人信用安全基础信息数据库。使用未来的金钱投资黄金国旗信用基础。中国深圳国际大都市金融商圈的投资源头出自上海老爷派系投资银行。年轻人时尚弄潮有趣提供稳定的基础信用工资。只要会过日子的就行。 交通行业国家征信正兴工业投资银行。国家企业交通行业沟通不同省份和区域的经济命脉。铁路自从欧洲工程师发明诞生初期得到领导的赏识归功于机器奇迹的摩托应用。商业交通运输行业振兴国家乡村基础设施建设。交通银行乡村振兴政策提...
Java技术
点赞
评论
收藏
分享
03-24 17:57
门头沟学院 Java
还内推到我微信了
yakuso:
你这头像哈哈哈
点赞
评论
收藏
分享
04-08 12:21
门头沟学院 iOS开发
入职体检
鼠鼠体检有以下异常,请问下各位佬需要复检吗,还是说会直接pass掉呀😴
点赞
评论
收藏
分享
04-09 17:23
门头沟学院 Java
4.8滴滴日常一面
1.为什么不选择后端分片文件上传?是实现麻烦还是交互麻烦?2.上传的视频文件不会加水印吗?隐私性怎么保证?3.假设数据量比较大,会出现性能问题,如果要你去改,你有什么想法吗?4.一般怎么加索引?怎么读取的更快呢?5.介绍一下什么是联合索引?6.联合索引失效的场景?is null会不会导致索引失效?order by会不会失效? order by两个字段走不走索引?7.讲解一下rag8.rag中如何处理大数据的分片和分块?9.使用过es吗?讲解一下检索的原理10.讲解一下bm25算法11.算法:杨辉三角,力扣原题写的很快,但是让我改空间复杂度,最后勉强写完。面试官人还不错感觉八股还是背的不够深入啊
查看11道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
13
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
我感觉我遇到神仙mentor了
9572
2
...
秋招失利别慌,好offer不怕晚
6700
3
...
入职翼支付2年多,聊聊感受
5403
4
...
谁都可能在说谎,但财报不会骗人
4682
5
...
我在北京的2046天
4295
6
...
上线一个月了,说几句真心话
3602
7
...
有了这个skill我再也没手动改过简历
2492
8
...
招行给AI时代数字金融人的答案
2481
9
...
我们算了一笔账,网申手动填表的真实成本
2068
10
...
腾讯云智暑期~
1947
创作者周榜
更多
正在热议
更多
#
Agent面试会问什么?
#
32848次浏览
1297人参与
#
携程笔试
#
152625次浏览
885人参与
#
厦门银行科技岗值不值得投
#
18677次浏览
421人参与
#
面试体验最好和最差的公司
#
23352次浏览
161人参与
#
米哈游工作体验
#
29684次浏览
143人参与
#
我的求职进度条
#
980169次浏览
6524人参与
#
哪些公司一直卡在简历筛选
#
104169次浏览
346人参与
#
一人分享一个skill
#
8554次浏览
228人参与
#
选实习,你更看重哪方面?
#
76470次浏览
505人参与
#
春招至今,你收到几个面试了?
#
84166次浏览
1093人参与
#
拼多多工作体验
#
55185次浏览
389人参与
#
说说你知道的学历厂
#
400076次浏览
1426人参与
#
TCL求职进展汇总
#
152158次浏览
665人参与
#
拿到offer之后,可以做些什么
#
103720次浏览
508人参与
#
给工作过的公司写一条大众点评,你会怎么写?
#
11238次浏览
131人参与
#
春招已经启动啦 硬件uu开始投了吗?
#
124151次浏览
771人参与
#
我是XXX,请攻击我最薄弱的地方
#
72685次浏览
490人参与
#
中国电信笔试
#
39788次浏览
363人参与
#
入职第一天,你准备什么时候下班
#
117883次浏览
515人参与
#
通信/硬件的薪资开多少,才值得去?
#
76368次浏览
407人参与
#
烂工作和没工作哪个更痛苦?
#
18440次浏览
273人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务