华为OD机试C卷-- 园区参观路径(Java & JS & Python & C)

获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
园区某部门举办了Family Day,邀请员工及其家属参加;

将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角;

家属参观园区时,只能向右和向下园区前进,求从起始园区到终点园区会有多少条不同的参观路径。
在这里插入图片描述

输入描述
第一行为园区的长和宽;

后面每一行表示该园区是否可以参观,0表示可以参观,1表示不能参观

输出描述
输出为不同的路径数量

题目解析

这是一个经典的组合数学问题,可以用动态规划来解决。具体来说,可以看作是一个二维的网格图,从左上角走到右下角,每次只能向右或向下移动。要求的是到达右下角的不同路径数。如果直接移动,不考虑中间有障碍物(不可访问的园区),那么就是一个典型的从左上角到右下角的路径计算问题,路径数量等于从起点到终点的行数加上列数减1的阶乘,即(m+n-2)!/(m-1)!(n-1)!,其中m为行数,n为列数。但考虑到存在不可访问的园区(标记为1),我们需要动态规划来解决这个问题。

Java算法源码

<
  • 1
    点赞
  • 200
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值