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

网站建设 事迹wordpress会员中心主题

网站建设 事迹,wordpress会员中心主题,云软件网站建设,长洲网站建设题目如下 数据范围 这题问能找到零的方法数量&#xff0c;首先可以把它当成跳格子即把amount当成目标把硬币面额当成一次可以跳的台阶数。 如下for (int j coins[i]; j < amount; j) {for (int i 0; i < n; i) {dp[j] dp[j - coins[i]];}}这样想已经接近正确答案了…

题目如下
在这里插入图片描述
数据范围
在这里插入图片描述

这题问能找到零的方法数量,首先可以把它当成跳格子即把amount当成目标把硬币面额当成一次可以跳的台阶数。 如下
        for (int j = coins[i]; j <= amount; j++) {for (int i = 0; i < n; i++) {dp[j] += dp[j - coins[i]];}}
这样想已经接近正确答案了 但是在跳格子中先跳1步再跳2步和先跳2步再跳1步是两种不同的方法,显然找零是不能像这样重复的,故我们要想办法排除重复计算。
即考虑将i的循环放到最外面因为我们可以得到 1 2却不能得到2 1即通过确定找零顺序排除了重复计算。
为了防止有人不能理解,我们还可以这样理解:我们只是把所有的找零序列按照面额从小到大排序,而我们这样做是不是可以枚举出所有面额从小到大的找零序列?故这样做是正确的。
注意:令人忍俊不禁的是官方说答案不会溢出,但是提交以后发现有些计算过程存在溢出所以还要验证答案是不是存在。

通过代码

class Solution {
public:int change(int amount, vector<int>& coins) {int n = coins.size();vector<int> dp(amount + 1, 0);vector<bool> is(amount + 1, false);dp[0] = 1;is[0] = true;for (int i = 0; i < n; i++) {for (int j = coins[i]; j <= amount; j++) {is[j]  = is[j] || is[j - coins[i]];}}if(!is[amount])return 0;for (int i = 0; i < n; i++) {for (int j = coins[i]; j <= amount; j++) {dp[j] += dp[j - coins[i]];}}return dp[amount];}
};

在这里插入图片描述

http://www.dtcms.com/wzjs/794620.html

相关文章:

  • 漯河做网站的制作海报用什么软件
  • 网站制作详细教程阿里云 上传wordpress
  • 展示型网站设计深圳的网站建设公司
  • 深圳网站开发深圳网站设计网站功能结构图 怎么做
  • 网站建设和网站设计一样吗wordpress内容做成目录
  • 电子商务网站建设与管理课后答案湖南网站建设公司 在线磐石网络
  • 那个做网站好网络运营工作内容
  • 白酒网站模板现在网站主怎么做淘宝客
  • 深圳营销型网站建设报价pr培训
  • 河南网站制作公司如何自学软件开发
  • 祁阳网站设计郑州经济技术开发区教师招聘公告
  • ic网站建设网站方案
  • 引擎网站推广法特价手机网站建设
  • 手机建网站 教程wordpress 栏目 伪静态
  • 十大农业网站正规的家居行业网站开发
  • 上网建站查信息的网站有哪些
  • 企业网站推广案例鲁谷做网站的公司
  • 可以做网站的渠道中国最新军事新闻头条今天
  • 综合电子商务型企业网站门户网站建站方案
  • 受欢迎的建网站公司手机常用网站
  • 一般纳税人网站建设多少税率阿里指数在线查询
  • 南京模板建站全国有多少家展馆设计公司
  • 建站交流亚马逊电商平台
  • 网站建设 优势如何网站网站做代理
  • 戴尔网站建设目标百度快速收录权限
  • 行业网站建设详解wordpress默认的编辑器
  • 西北建设有限公司官方网站物流网站建设策划书的总结
  • 网站 开发流程网站可信度
  • 开发网站需要多少资金百度竞价排名案例
  • 网站上怎么做推广比较好呢佛山百度推广电话