备战秋招——算法编程题集锦(持续更新)

本文汇集了两道算法编程题,第一题是清雨的自助餐问题,要求在不能连续选择相邻食物的情况下找出选择食物的方法数。第二题是散散的树问题,涉及在限制条件下确定锯子的最大高度以获取指定长度的木头。题目来源于CSdn博主的文章,适合秋招备考练习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 清雨的自助餐

题目描述:清雨又在吃自助餐了。排在清雨面前的有N种食物,排成一排,清雨可以选择其中的若干种食物,但是不能连续选择相邻的食物。因为清雨很挑食,当所有食物都不合胃口的时候,他可以一种都不选,即一个都不选也算为一种方法。请问他有多少种选择食物的方法?

输入:一个整数n(1<=n<=90)

输出:一个正整数表示答案 

样例输入:3

样例输出:5

Hint:有3种食物,方案为1、2、3、1+3、不选,共五种

From: https://blog.youkuaiyun.com/program_developer/article/details/82891219

2. 散散的树

题目描述:散散掌握着一片森林,这篇森林有n棵树,高度分别为a_i,现在散散想要长度为m的木头,散散的锯子有一个缺陷,必须同时切割所有的树木,即如果有高度为10、15、12的木头,散散只能确定锯子的高度,如果锯子的高度为13,那么只能将高度为15的树木切下长度为2的木头,锯子高度为8,则分别切下2、7、4的木头,共13长度。请问锯子的高度最高可以是多高呢?

n<=10^5, m<=10^9, a_i<=10^9

输入:第一行n和m,第二行n个整数a_i

输出:一个高度

样例输入:

5 20

4 42 40 26 46

样例输出:36

From: https://blog.youkuaiyun.com/program_developer/article/details/82891219

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值