当前位置: 首页 > news >正文

leetcode原题: 跳水板

题目:

你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。

返回的长度需要从小到大排列。

示例:

输入:
shorter = 1
longer = 2
k = 3
输出: [3,4,5,6]
解释:
可以使用 3 次 shorter,得到结果 3;使用 2 次 shorter 和 1 次 longer,得到结果 4 。以此类推,得到最终结果。

 解题思路:

1.首先考虑两种特殊情况:

  k=0,使用0块木板,直接返回一个空数组即可

  shorter=longer,两个板长度相同,返回任意一个板的长度*k

2.其余正常情况,我们可以看的出会有k+1种情况,使用0块短板--使用k块短板,所以我们这里设置循环初始值为0,循环结束条件是<=k

3.题目要求返回的长度需要从小到大排序,所以我们在最后还需要用到sort()函数,将结果数组进行排序

Code:

class Solution {
public://计算总长度int total(int shorter, int longer, int k,int n,int m){int sum=shorter*n+longer*m;return sum;}vector<int> divingBoard(int shorter, int longer, int k) {vector<int> res;//如果k为0,返回空数组if(k==0) return res;//如果短板和长板长度相同,返回任意一个板*kif(shorter==longer){res.push_back(k*shorter);return res;}//其他正常情况for(int i=0;i<=k;i++){//将每一次结果添加到res中res.push_back(total(shorter,longer,k,i,k-i));}//按升序顺序排序sort(res.begin(),res.end());//返回结果数组return res;}
};
http://www.lryc.cn/news/153886.html

相关文章:

  • 深度学习入门(Python)学习笔记1
  • 苏州想要获得融资融券低利率账户的方法?怎么开融资融券账户?
  • 【LeetCode周赛】LeetCode第359场周赛
  • vue3+ts+tinynce在富文本编辑器菜单栏实现下拉框选择
  • 前端UI组件库深度解析:构建现代化的用户体验
  • leetcode 1326. Minimum Number of Taps to Open to Water a Garden
  • C++日期类的基本实现
  • 第六章:数据结构与算法-part3:数据结构算法提升
  • keras深度学习框架通过卷积神经网络cnn实现手写数字识别
  • Springboot启动异常 Command line is too long
  • PXE 装机(五十)
  • C++ 虚函数与纯虚函数
  • 警告:Provides transitive vulnerable dependency maven:org.yaml:snakeyaml:1.30
  • 中文命名实体识别
  • WPF CommunityToolkit.Mvvm Messenger通讯
  • 【杂言】写在研究生开学季
  • 渗透测试漏洞原理之---【任意文件读取漏洞】
  • 合宙Air724UG LuatOS-Air LVGL API控件-图片 (Image)
  • 仿京东 项目笔记2(注册登录)
  • Spark与Flink的区别
  • 未来智造:珠三角引领人工智能产业集群
  • 【Unity db】sqlite
  • Linux 指令心法(四)`touch` 创建一个新的空文件
  • 分类算法系列②:KNN算法
  • 12. 微积分 - 梯度积分
  • Large Language Models and Knowledge Graphs: Opportunities and Challenges
  • Python操作Excel教程(图文教程,超详细)Python xlwings模块详解,
  • Java入门
  • 深度解析BERT:从理论到Pytorch实战
  • 小程序数据导出文件