zoukankan      html  css  js  c++  java
  • LeetCode 面试题 16.11.. 跳水板 模拟

    地址 https://leetcode-cn.com/problems/diving-board-lcci/

    你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。
    
    返回的长度需要从小到大排列。
    
    示例:
    
    输入:
    shorter = 1
    longer = 2
    k = 3
    输出: {3,4,5,6}
    提示:
    
    0 < shorter <= longer
    0 <= k <= 100000

    算法1
    模拟题?

    先计算出上下限,然后一次使用短木棒替换长木棒。注意木棒长短一致的边界问题

    C++ 代码

    class Solution {
    public:
    
    
        vector<int> divingBoard(int shorter, int longer, int k) {
    
        vector<int> ans; if (k == 0) return ans;
        int minlen = shorter * k; ans.push_back(minlen);
        int maxlen = longer * k;
    
        int currlen = minlen - shorter + longer;
        while (currlen <= maxlen && currlen > minlen) {
            ans.push_back(currlen);
            currlen = currlen - shorter + longer;
        }
    
        return ans;
    }
    
    };
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    关于《浪潮之巅》
    C++知识点
    #ifndef/#define/#endif以及#if defined/#else/#endif使用详解
    typedef void(*Fun)(void);
    C#-StructLayoutAttribute(结构体布局)
    Web Services
    C# DataGridView
    VS2017编译boost库
    位与字节
    c++ map
  • 原文地址:https://www.cnblogs.com/itdef/p/13266213.html
Copyright © 2011-2022 走看看