2023-09-01 LeetCode每日一题(买钢笔和铅笔的方案数)

2023-09-01每日一题

一、题目编号

2240. 买钢笔和铅笔的方案数

二、题目链接

点击跳转到题目位置

三、题目描述

给你一个整数 total ,表示你拥有的总钱数。同时给你两个整数 cost1 和 cost2 ,分别表示一支钢笔和一支铅笔的价格。你可以花费你部分或者全部的钱,去买任意数目的两种笔。

请你返回购买钢笔和铅笔的 不同方案数目
示例 1:
2023-09-01 LeetCode每日一题(买钢笔和铅笔的方案数)_第1张图片
示例 2:
在这里插入图片描述
提示:

  • 1 <= total, cost1, cost2 <= 106

四、解题代码

class Solution {
public:
    long long waysToBuyPensPencils(int total, int cost1, int cost2) {
        int n = total / cost1;
        long long cnt = 0;
        for(int i = 0; i <= n; ++i){
            int now_money = total - i * cost1;
            cnt += (now_money / cost2 + 1);
        }
    return cnt;
    }
};

五、解题思路

(1) 首先用total / cost1获得最多可以买多少支钢笔。然后遍历0~该数字。

(2) 计算出购买钢笔后有now_money钱,然后用now_money / cost2 + 1可以得到购买该数目的钢笔条件下可以买多少支铅笔。

(3) 如此枚举,最后返回结果即可。

你可能感兴趣的:(LeetCode每日一题,leetcode,算法,数据结构)