2017阿里内推笔试题--算法工程师(运筹优化)

运筹优化算法工程师笔试面试知识点汇总 一、线性规划 二、非线性规划 三、整数规划 四、动态规划 五、运筹优化算法面试问题 阅读详情

2017阿里内推笔试题–算法工程师(运筹优化)

题目

沐哲是一个菜鸟仓库的一个拣货员,但他有非常个怪异的习惯。每次拣货的重量都要比之前拣的一个轻,每次拣到货后都可以得到1块钱,沐哲想知道这样最多能赚多少钱
32 34 7 33 21 2
13 12 3 11 26 36
16 30 22 1 24 14
20 23 25 5 19 29
27 15 9 17 31 4
6 18 8 10 35 28
沐哲可以从仓库的某个货架开始拣货,下一步可以往上走,也可以往下走,当然,向左向右也可以,但必须使得下一个货物重量减小,才会去拣。在上面的仓库中,一条可拣货的路径为 25-22-3。当然30-23-20-16-13-12-3可以拣的货更多。这也是赚钱最多的一条路径。

要求

输入行数、列数和数据矩阵,输出所赚的最大钱数。
例子:
输入:
6 6
32 34 7 33 21 2
13 12 3 11 26 36
16 30 22 1 24 14
20 23 25 5 19 29
27 15 9 17 31 4
6 18 8 10 35 28
输出:
7

分析

此题应该属于树搜索的题目,拿到题目后一直在想怎么用动态规划。结果测试时间都过了,还是没做出来,真是搓的一笔。
最暴力的解法就是对每个点遍历,以每个点为起点进行深度优先搜索,找它相邻点的可行路径。搜索后将最大结果保存到当前位置,等遍历完后,找到矩阵元素的最大值,然后输出该值。

版本一

函数:

# check the (i,j) is in the matrix index
def isInside(row,col,i,j):
    return (i in range(row)) and (j in range(col))

# get the max step from the current point
def currentMaxStep(data,row,col,i,j):
    max_step=0
    directs = [(-1,0),(1,0),(0,-1),(0,1)]
    for (dx,dy) in directs:
        x,y = i+dx,j+dy
        if(isInside(row,col,x,y) and data[x][y] < data[i][j]):
            max_step = max([currentMaxStep(data,row,col,x,y),max_step])
    return max_step + 1

# traverse the whole data and generate the max step map
def getMaxMap(data,row,col):
    Map = [[0 for j in range(col)] for i in range(row)]
    for i in range(row):
        for j in range(col):
            Map[i][j] = currentMaxStep(data,row,col,i,j)
    print('the max step map is:')    
    for i in range(row):
        print(Map[i])
    return Map

# find the max from the max step map
def maxStep(data,row,col):
    Map = getMaxMap(data,row,col)
    return max([
运筹优化算法面试题——回忆版 一次惨痛的运筹优化算法面试经历项目方面基础知识总结 项目方面   我有三个项目经验,分别是:一个多目标进化算法的子算法,一个城际网约车订单分配算法,一个实习过程中提出的多主体寻路算法。 <![if supportMisalignedColumns]> <![endif]> 项目序号 项目名称 提问内容 回答 1 基于自适应局部搜索链的多目标模因算法 1)多目标解的评价标准?2)类比于EA(种群的初始化,交叉、变 阅读详情

相关推荐

阿里算法工程师面试经历

目录目录 一面一面时间:2015年7月22日 下午四点多接到电话,手机上标注的是骚扰电话,当时准备不接的。但是手机一直响了很久,最后还是接了,我还很不客气的问对方是谁。对方很温柔的回答说“我这边是阿里巴巴 …\dots”。当时差点被下尿了,但是还强壮镇定,询问是否是要开始面试,因为一个星期之前我投了阿里妈妈事业部的内简历,想要应聘的岗位是算法工程师。 接下来就是正式的面试,持续

MrChen11的博客 1万+

运筹学课后习题及答案

运筹学课后习题及答案《管理运筹学》第二版案例题解(韩伯棠教授)

2017.8.27 阿里巴巴算法工程师笔试(2)

题目菜鸟仓库是一个很大很神奇的地方,各种琳琅满目的商品整整齐齐地摆放在一排排货架上,通常一种品类(sku)的商品会放置在货架的某一个格子中,格子设有统一的编号,方便工人们拣选。 有一天沐哲去菜鸟仓库参观,无意中发现第1个货架格子编码为1,第2-3个分别为1,2,第4-6个格子分别是1,2,3,第7-10个格子编号分别是1,2,3,4,每个格子编号都是0-9中的一个整数,且相邻格子的编号连在一起有如下

小土豆啊的博客 2443

顺丰科技2019秋招运筹优化算法工程师笔试客观题合集.docx

顺丰科技2019秋招运筹优化算法工程师笔试客观题合集

运筹优化算法工程师面试汇总

文章目录1 运筹学知识2 线性规划2.1 大M法2.2 对偶问题3 整数规划3.1 分支定界3.2 0-1整数规划3.2 指派问题动态规划2、求解器SCIPCPLEXGUROBI3、笔试题题目1问题描述解题思路解法1解法2题目2问题描述解题思路解法1题目3问题描述解题思路解法1题目4问题描述解题思路解法14、建模能力5、其它 慢慢填坑 1 运筹学知识 P问题,NP问题,NPC问题,NP-hard问题等相关概念: P问题(polynomial):求解一个问题的时间复杂度是多项式级别; NP问题(nondet

tms988的博客 4681

运筹学——图论与最短距离(Python实现)(3),2024年最新2024阿里Python高级面试题总结

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费。

m0_60575487的博客 1206

运筹优化面试题

10.为什么用随机优化,Bender分解方法的特点,为什么不用列生成,single cut/multiple cut的不同,regularize和level的不同,用什么solver的,问题规模有多大,求解了多长时间。13.零散的小点,ML和OR的结合,面试官分享了一下对于各类求解器的看法,Gurobi和ORtools主要,问了有没有写过java和c++,如果有的话加分(可惜在学校基本写python)1.项目1:精确算法。测试用例,改进的地方,时间,目标,遇到的问题和解决。

weixin_36873225的博客 1164

2017阿里算法工程师暑期实习笔试题目部分解析

有7个连续整数的球,比如{1,2,3,4,5,6,7},连续抽取三个球,如果连续抽取的2个球的数字是连续的,则中奖,求中奖的概率 第一次抽到1或7,则假如第二次出现了连续的数,则共有2*1*5种 一个电梯有12个人,从地下一层向上升,每个人都可以在电梯到达一层到层中任意一层出电梯,到6层时已经没人了,一共有多少种出电梯的情况,(每个人出了电梯不能再进,所以人看做相同的人

xuejianche的博客 4838

阿里电话面试一面小结

 1.请介绍一下自己 2.你做过哪些项目?为啥要做这个项目?能详细介绍一下吗?          问你做这个多长时间        你为啥要做这个       还有问了一个问题,就是注释转换中,如果有                               #if   0                               //liusenlin1 /

刘森林l的博客 3383

阿里巴巴算法工程师实习生笔试题

2013年暑期实习生笔试题(印象版),只有大题,小题就不太清楚了,基本都是数据结构和操作系统方面的。

京东2019校园招聘算法工程师笔试编程题第一题

求字符串A的子串有多少个与字符串B相似,京东2019校招算法工程师笔试编程第一题

算法工程师历年企业笔试真题汇总

https://www.nowcoder.com/test/200/summary 算法工程师能力评估 https://www.nowcoder.com/test/24476/summary 阿里巴巴2015算法工程师实习生笔试卷https://www.nowcoder.com/test/8623677/summary 唯品会2018校招机器学习、算法笔试题(B卷)https://www....

Marmara 1341

递归方法

2017阿里笔试题算法工程师(运筹优化) 题目 沐哲是一个菜鸟仓库的一个拣货员,但他有非常个怪异的习惯。每次拣货的重量都要比之前拣的一个轻,每次拣到货后都可以得到1块钱,沐哲想知道这样最多能赚多少钱  32 34 7 33 21 2  13 12 3 11 26 36  16 30 22 1 24 14  20 23 25 5 19 29  27 15 9 17 3

Sun___Lei的博客 1143

考研复试面试题(本科课程--运筹学篇)----2020考研

本着是一枚计算机党,老师主要讲了关于优化的一些算法 1.无约束的非线性优化 梯度下降法 梯度的反方向就是下降最快的方向,这样走就能一直走到最低点,得到最优解 (1)α步长 α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离,以保证不要步子跨的太大扯着蛋,哈哈,其实就是不要走太快,错过了最低点。同时也要保证不要走的太慢,导致太阳下山了,还没有走到山下。所以...

qq_40755025的博客 5596

某公司运筹优化岗位第一次面试

P问题, NP问题, NPC问题, NP-hard问题 基本概念 复杂度级别: 1)多项式级别O(n^k);2)非多项式级别,如,指数级O(a^n)和阶乘级别O(n!)。后者的复杂度无论如何都大于前者。 归约(约化):如果能找到这样一个多项式变换法则,对任意一个程序A的输入,都能按这个法则变换为程序B的输入,使两程序的输出相同,那么我们说,问题A可归约为问题B。 通俗解释:一个问...

weixin_30580943的博客 1991

Python初级面试题2024,运筹学—,2024年Python开发前景如何

4e9.png)

2301_82242296的博客 910
上一篇: Matlab与CUDA C的混合编程配置出现的问题及解决方案
下一篇: python自动化工具之pywinauto(零)
shawpan
博客等级 码龄16年 259粉丝 30原创
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值