跳水板00

题目链接

跳水板

题目描述

注意点

  • 返回的长度需要从小到大排列
  • 必须正好使用k块木板
  • 0 < shorter <= longer
  • 0 <= k <= 100000

解答思路

  • 用k块两种不同的木板,组合数为k + 1,最小的组合为全部使用shorter,每多一块longer,减少一块shorter,组合的长度增加longer - shorter

代码

class Solution {
    public int[] divingBoard(int shorter, int longer, int k) {
        if (k == 0) {
            return new int[0];
        }
        if (shorter == longer) {
            return new int[] {shorter * k};
        }
        int[] res = new int[k + 1];
        int min = shorter * k;
        int diff = longer - shorter;
        for (int i = 0; i <= k; i++) {
            res[i] = min + diff * i;
        }
        return res;
    }
}

关键点

  • k = 0时不能使用模板,没有组合
  • 当shorter = longer时只有一种组合,不管选几块shorter和longer最终的组合长度都是相同的

相关推荐

  1. 基于EBAZ4205矿的图像处理:01简介

    2024-07-12 11:20:06       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 11:20:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 11:20:06       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 11:20:06       58 阅读
  4. Python语言-面向对象

    2024-07-12 11:20:06       69 阅读

热门阅读

  1. docker-2

    docker-2

    2024-07-12 11:20:06      24 阅读
  2. k8s离线部署芋道源码后端

    2024-07-12 11:20:06       19 阅读
  3. 实时数仓项目需求及架构设计

    2024-07-12 11:20:06       19 阅读
  4. 66、Flink 的 DataStream Connectors 支持的 Formats 详解

    2024-07-12 11:20:06       17 阅读
  5. String的常用方法

    2024-07-12 11:20:06       30 阅读