首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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-25 15:57
腾讯_腾讯云_测试开发(实习员工)
测试开发暑期实习的准备心得
前言:结合我自己的测开准备流程,和面试这几场实习后的经验,写一篇文章给想转测试开发岗位的同学一点入坑的指南吧。因为本人非科班出身,是临时转岗,面试的次数也不多,可能很多地方说的不全面不太对,有差错的地方,请各位大佬在评论区指正,大家一起讨论进步。从面试流程来看,我个人觉得测开主要准备的内容可以分为以下几个方面:项目、八股文、测开场景专题、力扣算法一、项目项目这个不用多说,作为研发岗,你的简历上的项目肯定要体现你自身的技术栈和专业性。但是这里可能有些同学会有疑问:1、项目多少个好?是不是我写的越多越好?找实习阶段,项目两三个足够。一个项目应该写上以下几个内容:项目名称、项目时间、你在这个项目负责...
牛客在线求职答疑中心
简历中的项目经历要怎么写
点赞
评论
收藏
分享
昨天 17:20
中国地质大学 Java
不愧是腾讯,面试的质量太高了
今天分享的是粉丝投稿的在腾讯的最新面经,问的都是一些高质量的问题,看看你能答上来几个:1. Proactor和Reactor模式的区别?核心区别:事件处理流程不同Reactor:基于同步I/O,主线程监听事件就绪后,由工作线程执行实际I/O操作(读/写)和业务处理。典型代表:Linux epollProactor:基于异步I/O,主线程直接处理I/O操作完成后的事件通知,工作线程仅处理业务逻辑。典型代表:Windows IOCP2. 栈和堆的内存管理差异?分配方式编译器自动分配/释放GC自动管理内存碎片无可能产生碎片访问速度快(CPU缓存友好)较慢(需寻址)逃逸分析函数内部分配跨函数共享时逃逸...
点赞
评论
收藏
分享
04-03 12:09
東京大学 C++
大家看看这份简历怎么样?求大佬锐评一下
想找第一份实习
求求求求暑期offer:
留第一行,剩下的不要
点赞
评论
收藏
分享
05-27 16:59
汉口学院 单片机
实习期发消息一定要先看群名!!
实习那会到点下班想走 本来想私聊要好的同事 不小心在公司群里发了一句:走啊 你卷尼玛呢 三分钟没人提醒 整个群都安静了…………
牛客473059135号:
好消息你是实习期,可以不计任何后果的昂首阔步的离开了
职场捅娄子大赛
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
13
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
挑战 26 届最速转正失败——我做错了什么
3.3W
2
...
我的校园恋爱正式结束了
1.2W
腾讯暑期补捞
热聊中
3
...
这次是真的告别了!
1.1W
4
...
25的兄弟们还在战斗吗?
9237
5
...
极限春招小结
8600
6
...
坐我后面的妹妹被拉走了!!
8267
7
...
从后端的角度聊一聊:2728届想要搞开发的同学现在最应该干什么?
8244
8
...
找工作找到厌倦了,晒一下毕业照吧!
6680
9
...
毕业照和春招结束代表着我的学生时代落幕了
6502
10
...
好想加班好想加班,啊啊我的钱(っ╥╯﹏╰╥c)
5733
创作者周榜
更多
正在热议
更多
#
职场捅娄子大赛
#
307544次浏览
3097人参与
#
好好告别我的学生时代
#
25537次浏览
526人参与
#
华泰证券Fintech星战营
#
166488次浏览
190人参与
#
写给毕业5年后的自己
#
1791次浏览
32人参与
#
晒一下我的毕业照
#
25937次浏览
257人参与
#
华为求职进展汇总
#
4633723次浏览
28212人参与
#
如何缓解求职过程中的焦虑?
#
4699次浏览
76人参与
#
互联网行业现在还值得去吗
#
17639次浏览
55人参与
#
简历无回复,你会继续海投还是优化再投?
#
69226次浏览
697人参与
#
00后45度躺现状
#
94284次浏览
490人参与
#
记录实习开销
#
17370次浏览
113人参与
#
运营来爆料
#
43442次浏览
323人参与
#
嵌入式岗知多少
#
40175次浏览
429人参与
#
如果今天是你的last day,你会怎么度过?
#
20767次浏览
192人参与
#
节后第一天上班,我的精神状态
#
10062次浏览
82人参与
#
机械人,签完三方你在忙什么?
#
49201次浏览
212人参与
#
如何KTV领导
#
56255次浏览
415人参与
#
2025,我想......
#
49937次浏览
471人参与
#
来聊聊机械薪资天花板是哪家
#
122189次浏览
737人参与
#
租房前辈的忠告
#
170111次浏览
6407人参与
#
如果不工作真的会快乐吗
#
117785次浏览
948人参与
牛客网
牛客企业服务