2022Java后端之美团笔试题

本文介绍了两个编程题目。第一个题目涉及计算饲料供应的天数,小团按照特定的饲养计划喂养鱼,需要计算给定数量的饲料能维持多久。第二个题目是关于构建回文串,小美需要在给定的01字符串中添加最少的1来形成回文串。这两个题目都需要对问题进行分析并编写相应的算法来解决。
本文题目转载自 :https://blog.csdn.net/qq_45915803/article/details/124637118

题目一:
小团饲养了一小缸鱼,并且买了A、B、C三类饲料来喂养它们,小团的饲养计划如下:
—— 在每周一、五、六,喂8粒A类饲料;
—— 在每周二、日,喂5颗B类饲料;
—— 在每周三、四,喂7颗C类饲料。
假设在某个周一,小团一次性购买了A、B、C三类饲料各a、b、c颗,并在当天开始饲养,请问如果小团按照它的饲养计划进行喂食,
请问这批饲料可以吃多少天(周一当天也算一天)?

样例输入
8 6 6
样例输出
2
 

分析:

每周一、五、六:喂投8颗A类饲料;

每周二、日:喂投5颗B类饲料;

每周三、四:喂投7颗C类饲料;

由此可得序列:8-5-7-7-8-8-5 该序列每七天一循环。

-8 -5 -7 -7 -8 -8 -5
0 1 2 3 4 5 6

将该序列存入一数组中,对应下标加一代表其对应每周的哪一天,例如下标为0 则0+1=1代表星期一,-8表示那一天A饲料剩余总值减去8;

[0]-[4]-[5]存储A饲料的剩余数

[1]-[6]存储B饲料的剩余数

[2]-[3]存储C饲料的剩余数

public class TestDemo1 {
    //8 5 7 7 8 8 5 为一周期
    //标记A饲料为8 B饲料为5 C饲料为7
    public static void main(String[] args) {

        /**
         * 针对条件选择相应的测试用例
         */
        int day = days(8,5,7);  //3天
        int day2 = days(8,6,6);  //2天
        int day3 = days(8,3,8);  //1天
        int day4 = days(7,5,7);  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值