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

上海做网站 公司排名网站优化哪个公司好

上海做网站 公司排名,网站优化哪个公司好,安装wordpress建站程序,南昌百度快速排名优化LeetCode/卡码网题目: 518. 零钱兑换 II377. 组合总和 Ⅳ790. 多米诺和托米诺平铺(每日一题)57. 爬楼梯(第八期模拟笔试) 其他: 今日总结 往期打卡 背包问题特点: 滚动数组背包遍历顺序 完全背包从小到大,即基于当前物品更新过的继续更新01背包从大到…

LeetCode/卡码网题目:

  • 518. 零钱兑换 II
  • 377. 组合总和 Ⅳ
  • 790. 多米诺和托米诺平铺(每日一题)
  • 57. 爬楼梯(第八期模拟笔试)

其他:

今日总结
往期打卡


背包问题特点:

滚动数组背包遍历顺序

  • 完全背包从小到大,即基于当前物品更新过的继续更新
  • 01背包从大到小,即基于上一物品更新

物品内外层循环:

  • 求组合数外层for循环遍历物品,内层for遍历背包。
    (物品顺序固定,所以不会出现不同的排列)
  • 求排列数外层for遍历背包,内层for循环遍历物品。

518. 零钱兑换 II

跳转: 518. 零钱兑换 II

学习: 代码随想录公开讲解

问题:

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

请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0

假设每一种面额的硬币有无限个。

题目数据保证结果符合 32 位带符号整数。

思路:

完全背包求组合数,外侧物品,顺序从小到大遍历

复杂度:

  • 时间复杂度: O ( n m ) O(nm) O(nm)
  • 空间复杂度: O ( n ) O(n) O(n)

代码:

class Solution {public int change(int amount, int[] coins) {int[] dp = new int[amount + 1];dp[0] = 1;for (int num = 0; num < coins.length; num++) {for (int i = coins[num]; i <= amount; i++) {dp[i] += dp[i - coins[num]];}}return dp[amount];}
}

377. 组合总和 Ⅳ

跳转: 377. 组合总和 Ⅳ

学习: 代码随想录公开讲解

问题:

给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。

题目数据保证答案符合 32 位整数范围。

在这里插入图片描述

思路:

完全背包求排列数,外侧背包,顺序从小到大遍历

复杂度:

  • 时间复杂度: O ( n m ) O(nm) O(nm)
  • 空间复杂度: O ( n ) O(n) O(n)

代码:

class Solution {public int combinationSum4(int[] nums, int target) {int[] dp = new int[target + 1];dp[0] = 1;for (int i = 0; i <= target; i++) {for (int num = 0; num < nums.length; num++) {if(i>=nums[num]){dp[i] += dp[i - nums[num]];}}}return dp[target];}
}

790. 多米诺和托米诺平铺(每日一题)

跳转: 790. 多米诺和托米诺平铺

问题:

有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。

给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返回对 109 + 7 取模 的值。

平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当且仅当面板上有四个方向上的相邻单元中的两个,使得恰好有一个平铺有一个瓷砖占据两个正方形。

在这里插入图片描述

思路:

可以看作背包问题,1有1个,2有1个,3有2个,4有2个,从3中间插两个横牌是5,有两个,4插两个横牌是6,有两个,依此类推后面都有两个
在这里插入图片描述
这题就是完全背包求排列

也可以看作是爬楼梯

f ( n ) = f ( n − 1 ) + f ( n − 2 ) + ∑ m = 0 n − 3 f ( m ) ∗ 2 f(n)=f(n-1)+f(n-2)+\sum_{m=0}^{n-3}f(m)*2 f(n)=f(n1)+f(n2)+m=0n3f(m)2
求通项公式为
f ( n ) = 2 ∗ f ( n − 1 ) + f ( n − 3 ) f(n)=2*f(n-1)+f(n-3) f(n)=2f(n1)+f(n3)

复杂度:

  • 时间复杂度: O ( n ) O(n) O(n)
  • 空间复杂度: O ( n ) O(n) O(n)

代码(递推公式):

class Solution {private static final int MOD = 1_000_000_007;public int numTilings(int n) {if (n == 1) {return 1;}long[] f = new long[n + 1];f[0] = f[1] = 1;f[2] = 2;for (int i = 3; i <= n; i++) {f[i] = (f[i - 1] * 2 + f[i - 3]) % MOD;}return (int) f[n];}
}

复杂度:

  • 时间复杂度: O ( n 2 ) O(n^2) O(n2)
  • 空间复杂度: O ( n ) O(n) O(n)

代码(完全背包求组合):

class Solution {public int numTilings(int n) {int[] dp = new int[n+1];long MOD = 1000000007;dp[0] = 1;for(int i=1;i<=n;i++){for(int j=1;j<=2&&j<=n;j++)if(i>=j)dp[i]=(int)(((long)dp[i]+dp[i-j])%MOD);for(int j=3;j<=n;j++)if(i>=j)dp[i]=(int)(((long)dp[i]+2*dp[i-j])%MOD);}return dp[n];}
}

57. 爬楼梯(第八期模拟笔试)

跳转: 57. 爬楼梯(第八期模拟笔试)

学习: 代码随想录公开讲解

问题:

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

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

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

思路:

完全背包求排列

复杂度:

  • 时间复杂度: O ( n m ) O(nm) O(nm)
  • 空间复杂度: O ( n ) O(n) O(n)

代码:

import java.util.Scanner;
class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int[] dp = new int[n+1];dp[0] = 1;for(int j=1;j<=n;j++)for(int i=1;i<=m;i++)if(j>=i)dp[j] += dp[j-i];System.out.println(dp[n]);}
}

总结

练习了完全背包问题和背包问题求排序组合

往期打卡

代码随想录算法训练营第三十一天

代码随想录算法训练营第三十天(补)

代码随想录算法训练营第二十九天

代码随想录算法训练营第二十八天

代码随想录算法训练营第二十七天(补)

代码随想录算法训练营第二十六天

代码随想录算法训练营第二十五天

代码随想录算法训练营第二十四天

代码随想录算法训练营第二十三天

代码随想录算法训练营周末四

代码随想录算法训练营第二十二天(补)

代码随想录算法训练营第二十一天

代码随想录算法训练营第二十天

代码随想录算法训练营第十九天

代码随想录算法训练营第十八天

代码随想录算法训练营第十七天

代码随想录算法训练营周末三

代码随想录算法训练营第十六天

代码随想录算法训练营第十五天

代码随想录算法训练营第十四天

代码随想录算法训练营第十三天

代码随想录算法训练营第十二天

代码随想录算法训练营第十一天

代码随想录算法训练营周末二

代码随想录算法训练营第十天

代码随想录算法训练营第九天

代码随想录算法训练营第八天

代码随想录算法训练营第七天

代码随想录算法训练营第六天

代码随想录算法训练营第五天

代码随想录算法训练营周末一

代码随想录算法训练营第四天

代码随想录算法训练营第三天

代码随想录算法训练营第二天

代码随想录算法训练营第一天

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

相关文章:

  • 想学做网站学那个软件好win7优化软件
  • ftp网站建设百度爱采购优化排名软件
  • 举例描述该如何布局网站关键词重庆seo建站
  • 网站做定制还是固定模板企业网站建站模板
  • 这几年做哪个网站能致富猪肉价格最新消息
  • 网站 域名 空间 服务器2345浏览器网站进入
  • 网站建设嘉兴公司电话app拉新推广平台有哪些
  • 北京招聘网站排行百度搜索关键词技巧
  • 内蒙古建设厅官方网站seo优化软件
  • 免费申请网站首选百度seo和sem是什么意思
  • 企业网站seo诊断微信营销平台哪个好
  • 乐清北白象网络怎么装百度seo排名优化公司哪家好
  • 建设工程质量检测公司网站免费网页空间到哪申请
  • 网站建设费可以一次性冲费用吗一个产品的网络营销方案
  • 微网站制作方案国外搜索引擎排行榜
  • 怎么让做的网站赚钱吗seo引擎
  • 一那个网站可以做一建题江苏网站建站系统哪家好
  • 凡客网站做SEO能被收录吗友情链接是啥意思
  • 动态网站设计分析淘宝推广
  • 高端设计网站都有哪些百度关键词模拟点击软件
  • 2017年网站推广怎么做百度网站推广排名优化
  • 网站做全景图抖音搜索seo
  • 西宁网站建设有限公司网络营销策略优化
  • anaconda可以做网站吗seo1搬到哪里去了
  • 网络营销推广的工具网站优化企业排名
  • 深圳出名的设计公司免费seo在线工具
  • 当前网站开发什么语言2023第三波疫情已经到来了
  • 少儿编程培训机构上海关键词排名优化价格
  • 英文网站建设平台杭州百度百科
  • 邢台做网站的东莞网站推广及优化