首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
昨天 18:43
正浩创新EcoFlow_海外销售(准入职员工)
正浩创新内推,正浩创新内推码
工作时间与强度工作时间:实行弹性工作制,上班时间为上午 09:00 - 下午 06:00,周末双休。工作强度:工作强度较大,部分研发岗位因项目进度安排紧张,加班到 11、12 点是常事。不过也有一些岗位可以准点下班。薪资福利有通讯补贴、补充医疗保险、餐饮补贴(一天 30 元)、节日福利、定期体检等。公司食堂饭菜半价,还有八折零食柜、免费咖啡等。工作氛围团队氛围:整体氛围比较年轻有活力,团队多为扁平化管理,队员之间有较高的决策权。比如 GTM 团队大部分都是 3C 消费厂出身,工作氛围活力四射,沟通效率较高。研发部的团队氛围也不错,同事之间互相帮助,经常一起讨论新产品方向,还会有团建活动。但也有...
正浩创新EcoFlow公司福利 605人发布
点赞
评论
收藏
分享
12-04 09:48
门头沟学院 客户端其它
翘课去实习的那些人后来怎么样了
我是码农索隆,我赞成牛友翘课去实习。现在这个卷学历、卷实习、卷技术的时代算是让我们摊上了,也算是赶上好时候了~老话说:“纸上学来终觉浅,绝知此事要躬行”,你看老祖宗都告诉咱们,学了知识之后,要亲自尝试,所以实习这个事是没毛病的,但是,翘课实习,就要考虑怎么护住毕业证这个大事。我分享几个保护毕业证的好方法。一、别玩彻底消失。课全旷、人失踪,这是不对推荐的,也是不理智的,这会导致导员跳脚,直接拿着毕业证威胁你让你回校。靠谱做法是:提前找好代课,作业一次别落,平时分挣满,期末准时赴考。至于查寝,室友的掩护必须打好。二、旷课实习被发现。这个不用慌,我推荐的做法是给父母打个电话,和父母详细阐述一下这个事...
码农索隆:
翘课不去实习,那干嘛去了
为了去实习,我赌上了__...
点赞
评论
收藏
分享
11-10 12:49
东南大学 C++
实习被抓回去了
学校门禁换人脸了,换了两周之后就被导员抓回去了,段子也是发生到自己身上了,还好已经实习四个月了,也算不错了,就是亏了点房租😂
诨号无敌鸭:
这**导员 平时没见过有原则 现在原则上了
外出实习被同学举报
点赞
评论
收藏
分享
10-21 15:45
慧策(掌上先机)_后端开发工程师
说好的金9银10呢?
26届学院鼠鼠燃尽了。实习发现没有学到什么东西,现在想继续秋招。发现快要过时间了,但是现在在公司有有点抗不下去了。大佬们,拷打一下我,我现在该怎么办。算法+八股+项目在实习的适合就没怎么刷了,以为公司还不错,现在越来越呆不下去了。不是鼠鼠我嘴馋,但是中秋没有礼品是不是太抽象了一点,唉。学院鼠鼠打法太难了吧。大佬们,求求辣!!!😭😭😭
面试拷打成m:
学院本像野狗一样被一脚踹死了
想实习转正,又想准备秋招...
点赞
评论
收藏
分享
12-09 09:43
门头沟学院 Java
B站给个痛快的吧
投完小破站以后,还筛选中呢,基本了无音信了,不对,还做过一次笔试,发现好多公司笔试完事就没消息了,那干嘛还浪费时间,让我们笔试呢,B站直接给挂了吧,感觉招的人好少没啥机会了呢
投递哔哩哔哩等公司6个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
13
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
零经验也能斩获实习offer
7912
2
...
百度网盘Golang开发一面凉经
4928
数字马力交流圈
热聊中
3
...
小红书26校招Java二面85min
4633
4
...
这环境。。。我来谈谈选择和长期主义
4062
华为进展交流圈
热聊中
5
...
0实习冲明年前端暑期,要不要找寒假实习?
4039
6
...
工作两年裸辞读研,我后悔了吗···
3164
7
...
亲戚一张嘴,离职变丑闻
2312
8
...
手子入职第二天
2165
9
...
招转培啥时候能被治理
2163
10
...
成都java小厂 日常实习一面面经 25min
2117
创作者周榜
更多
正在热议
更多
#
找工作能把i人逼成什么样
#
4903次浏览
50人参与
#
面试尴尬现场
#
198678次浏览
753人参与
#
百融云创求职进展汇总
#
22306次浏览
145人参与
#
0经验如何找实习?
#
15103次浏览
296人参与
#
最难的技术面是哪家公司?
#
60081次浏览
937人参与
#
你今年做了几份实习?
#
4441次浏览
66人参与
#
腾讯音乐求职进展汇总
#
142984次浏览
1032人参与
#
字节出了豆包coding模型
#
4552次浏览
49人参与
#
你找工作经历过哪些骗局?
#
5580次浏览
100人参与
#
实习心态崩了
#
93803次浏览
487人参与
#
你开始找寒假实习了吗?
#
8552次浏览
135人参与
#
实习越久越好,还是多多益善?
#
11647次浏览
97人参与
#
25年找工作是什么难度?
#
8123次浏览
89人参与
#
一上班就想____,这正常吗?
#
2845次浏览
62人参与
#
刚工作,应该先搞钱or搞成长?
#
4610次浏览
67人参与
#
离职你会和父母说吗?
#
6263次浏览
86人参与
#
你投了多少家公司?进展是___
#
183361次浏览
1135人参与
#
如果公司降薪,你会跳槽吗?
#
109268次浏览
687人参与
#
实习必须要去大厂吗?
#
168321次浏览
1660人参与
#
你是怎么和mt相处的?
#
82496次浏览
436人参与
#
你会为了工作牺牲生活吗?
#
65036次浏览
446人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务