(ブラシノート)leetcode面接問題16.11.ダイビングボード


目次
  • 解題構想
  • コード(C+)
  • タイトル
    板の山を使ってダイビングボードを作っています.長さの短い板の長さはshorter、長さの長い板の長さはlongerの2種類の板があります.ちょうどk枚の板を使わなければなりません.ダイビングボードのすべての可能な長さを生成する方法を作成します.
    返される長さは、小さいものから大きいものまで並べ替える必要があります.
    例:
      :
     shorter = 1
     longer = 2
     k = 3
       : {3,4,5,6}
    

    ヒント:
    0 < shorter <= longer
    0 <= k <= 100000
    

    ソース:力ボタン(LeetCode)リンク:https://leetcode-cn.com/problems/diving-board-lcci
    問題を解く構想.
    カードを打つ問題は、問題が簡単で、1回循環すればいいので、境界状況を完全に考慮できるかどうかを考察することができます.ここでの境界はk=0とshorterがlongerと等しい場合である.
    私はqq群を建てて、興味があるのは575474684をプラスすることができて、みんなは互いに督促して一緒に問題をブラシすることができます.
    コード(C+)
    class Solution {
         
    public:
        vector<int> divingBoard(int shorter, int longer, int k) {
         
    
            if(k==0) return {
         };
            if(shorter==longer) return {
         shorter*k};
            vector<int> res;
            int s=k;
            int l=0;
            while(l<=k){
         
    
                int sum=shorter*s+longer*l;
                res.push_back(sum);
                --s;
                ++l;
    
            }
    
            return res;
    
    
        }
    };