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

php网站上传教程广州百度推广代理公司

php网站上传教程,广州百度推广代理公司,网站怎么做详情页,有限责任公司是私企吗一、爬楼梯&#xff08;进阶版&#xff09; 1.1 题目 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬至多m (1 < m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a;给定 n 是一个正整数。 输入描述 输入共一…

一、爬楼梯(进阶版)

        1.1 题目

题目描述

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 

每次你可以爬至多m (1 <= m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢? 

注意:给定 n 是一个正整数。

输入描述

输入共一行,包含两个正整数,分别表示n, m

输出描述

输出一个整数,表示爬到楼顶的方法数。

输入示例
3 2
输出示例
3

        1.2 题目链接

        57.爬楼梯

        1.3 解题思路与过程想法

        (1)解题思路

        # 分析:这道题是 70.爬楼梯 的进阶版,对于每次爬楼的最多阶数是个不定值 n。是个典型的背包的排列问题。
        排列问题:1+2+1 和 2+1+1 是两种不同方法
        数组:爬到 i 阶,有 dp[i] 种方法
        递推关系:求组成的方法数——————dp[j] += dp[j-i],
                          求背包装载的最大“价值” ——dp[j] = max(dp[j], dp[j-weight[i]]+value[i])
                          求背包装载的最少“数量” ——dp[j] = min(dp[j], dp[j-weight[i]]+1)
        初始化:求组成的方法数——dp[0] = 1
                       其他值初始化———初始化不影响覆盖的值,求最大-->初始化最小;
                                                                                               求最小-->初始化无穷大值
        遍历顺序:因为是排列问题,所以先遍历背包容量,后遍历物体

        此处 weight[i] 对应着 本次爬楼的阶数
                value[i]   对应着 一次爬楼

        (2)过程想法

        比较经典,思路也比较好想,但需注意是排列问题

        1.4 代码

def up(n,m) -> int:# 物品是每次爬的楼梯数,可重复---->完全背包# 背包容量 n,物品 1~m# 数组:爬到 i 阶,有 dp[i] 种方法dp = [0] * (n+1)# 递推关系:dp[j] += dp[j-i]# 初始化:求方法数,一般初始化 dp[0] = 1,若是0则后续将全是 0 dp[0] = 1for j in range(1,n+1):              # 遍历背包for i in range(1,m+1):            # 遍历物体if j >= i:dp[j] += dp[j-i]return dp[n]if __name__ == "__main__":# 从键盘端一次性连续读取两个数字inputs = input()# 将输入拆分为两个数字num1, num2 = map(int, inputs.split())print(up(num1,num2))

二、零钱兑换

        2.1 题目

        给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。

        计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。

        你可以认为每种硬币的数量是无限的。

示例 1:

输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1

示例 2:

输入:coins = [2], amount = 3输出:-1

示例 3:

输入:coins = [1], amount = 0
输出:0

提示:

  • 1 <= coins.length <= 12
  • 1 <= coins[i] <= 2^31 - 1
  • 0 <= amount <= 10^4

        2.2 题目链接

        322.零钱兑换

        2.3 解题思路与过程想法

        (1)解题思路

        # 数组:构成总金额 j 所需的最少硬币数 dp[j]
        # 初始化:初始一个不会覆盖其他值的原始值(求最小,赋无穷大)
        # 递推关系:dp[j] = min(dp[j],dp[j-coin]+1)
        # 完全背包的组合问题:先遍历物体,后遍历背包容量

        (2)过程想法

        针对纯完全背包问题变化不是很大,代码比较好写

        2.4 代码

class Solution:def coinChange(self, coins: List[int], amount: int) -> int:# 完全背包:组合问题# 数组:构成总金额 j 所需的最少硬币数 dp[j]# 初始化:初始一个不会覆盖其他值的原始值dp = [float('inf')] * (amount+1)# 递推关系:dp[j] = min(dp[j],dp[j-coin]+1)# 初始化 dp[0] = 0# 举例递推 for coin in coins:                  # 遍历物品for j in range(coin,amount+1):     # 遍历背包dp[j] = min(dp[j],dp[j-coin]+1)return dp[amount] if dp[amount] != float('inf') else -1

三、完全平方数

        3.1 题目

        给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。

        完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,149 和 16 都是完全平方数,而 3 和 11 不是。

示例 1:

输入:n = 12
输出:3 
解释:12 = 4 + 4 + 4

示例 2:

输入:n = 13
输出:2
解释:13 = 4 + 9

提示:

  • 1 <= n <= 10^4

        3.2 题目链接

        279.完全平方数

        3.3 解题思路与过程想法

        (1)解题思路

        分析:整个题目的变体主要在于“完全平方数”,为了便于遍历,以其需“平方”的数为遍历数。

        # 数组:i 最少可由 dp[i] 个完全平方数组成
        # 初始化:初始一个不会覆盖其他值的原始值(求最小,赋无穷大)
        # 递推关系:dp[j] = min(dp[j],dp[j-i*i]+1)
        # 完全背包的组合问题:先遍历物体,后遍历背包容量

        (2)过程想法

        分析出变化的关系,代码是很好写的

        3.4 代码

class Solution:def numSquares(self, n: int) -> int:# 完全背包问题-组合问题# 数组:i 最少可由 dp[i] 个完全平方数组成dp = [float('inf')] * (n+1)# 递推关系:dp[j] = min(dp[j],dp[j-i*i]+1)# 初始化dp[0] = 0for i in range(n//2+1):         # 遍历物体for j in range(i*i,n+1):    # 遍历背包dp[j] = min(dp[j], dp[j - i*i]+1)# 处理边界情况return dp[n] if n != 1 else 1
http://www.hengruixuexiao.com/news/42126.html

相关文章:

  • 做街机棋牌上什么网站发广告陕西网站推广公司
  • 网站后台管理的超链接怎么做怎么在线上推广自己的产品
  • 建个人网站需要哪些交换链接营销实现方式解读
  • html5开发安卓app就业seo好还是sem
  • 驻马店做网站建设的公司一个新产品怎么推广
  • phpcms网站开发网站制作大概多少钱
  • 外贸主动营销网站建设自己的网站怎么做seo
  • 东莞网站建设营销网站品牌推广的意义
  • 企业公司简介范文广西seo公司
  • 地方政府网站建设中存在的问题怎样推广自己的商城
  • 怎么做电影流量网站吗德国搜索引擎
  • 电子商务网站建设重点厦门seo关键词优化培训
  • 长沙定制网站开发恢复正常百度
  • 湖北城乡建设厅官方网站线上如何做推广
  • 推荐网址云巅seo
  • 如何java做网站淘宝推广怎么做
  • 东莞长安网站推广公司seo的研究对象
  • 啊里云服务器怎么做网站重庆网站优化
  • 小公司做网站推广好不好武汉关键词包年推广
  • 如何对网站做压力测试网站cms
  • 自己做的网站怎么发布到网上英雄联盟韩国
  • 做外贸网站一般多少钱郑州网站推广技术
  • 南宁手机网站设计策划百度搜索智能精选入口
  • 莞城东莞网站建设百度知道官网手机版
  • iis做网站跳转app开发公司推荐
  • 建设网站所需技术优化大师班级
  • 做网站是怎么赚钱吗360竞价推广开户多少钱
  • 江苏省建设工程招标网站线上线下整合营销方案
  • 做网站前端和平面配合网站排名怎么搜索靠前
  • 祖传做网站如何获取网站的seo