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

力扣刷题 day43:10-13

1.完全平方数

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

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

方法一:动态规划 

#方法一:动态规划
def numSquares(n):dp=[i for i in range(n+1)]  #dp[i] 表示和为i的最小完全平方数for i in range(2,n+1):for j in range(1,int(i**0.5)+1):dp[i]=min(dp[i],dp[i-j*j]+1)   #状态转移方程,等于前面数的最小完全平方数加上j*j这个本来就是的即+1return dp[-1]

2.最长递增子序列 

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。

子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。

方法一:动态规划 

#方法一:动态规划
def lengthOfLIS(nums):dp=[1 for i in range(len(nums))]  #dp[i] 表示以i位置结尾的最长递增子序列res=0for i in range(len(nums)):for j in range(i):if nums[j]<nums[i]:dp[i]=max(dp[j]+1,dp[i]) #找到之前比当前位置元素小的res=max(res,dp[i])return res

3.买卖股票的最佳时机含冷冻期 

给定一个整数数组prices,其中第  prices[i] 表示第 i 天的股票价格 。​

设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):

卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

方法一:动态规划 

#方法一:动态规划
def maxProfit(prices):dp0,dp1,dp2=0,float('-inf'),-prices[0] #dp0表示没有股票且不在冷冻期,dp1表示在冷冻期,dp2表示持有股票所得的利益for i in range(1,len(prices)):#dp0下一个状态 #dp1 卖出去了#dp2 要么不卖出去,要么买入dp0,dp1,dp2=max(dp0,dp1),dp2+prices[i], max(dp0 - prices[i],dp2)return max(dp0,dp1,dp2)

http://www.lryc.cn/news/191744.html

相关文章:

  • 3、在docker 容器中安装tomcat
  • 工业互联网系列1 - 智能制造中有哪些数据在传输
  • centos7部署Nginx和RabbitMQ
  • Nacos集群搭建
  • 运维小工具分享
  • Eclipse插件安装版本不兼容问题解决方案——Papyrus插件为例
  • 【Qt之QTimer】使用及技巧
  • 零基础快速自学SQL,2天足矣。
  • Meta开源数字水印Stable Signature,极大增强生成式AI安全
  • python实现分词器
  • 第五十二章 学习常用技能 - Global 映射
  • vue实现瀑布流
  • 【虹科干货】Redis Enterprise 自动分层技术:大数据集高性能解决方案
  • 代码随想录训练营二刷第五十四天 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
  • LeetCode 2562. 找出数组的串联值【数组,相向双指针】1259
  • SpringBoot使用的时间与空间计量单位
  • 【使用 TensorFlow 2】02/3 使用 Lambda 层创建自定义激活函数
  • docker--使用docker login 报错解决方案
  • leetcode oj
  • 黑马点评-05缓存穿透问题及其解决方案,缓存空字符串或使用布隆过滤器
  • Flink之窗口聚合算子
  • K8S:Rancher管理 Kubernetes 集群
  • 后台运行python程序并查看运行的python 进程
  • 树莓派部署.net core网站程序
  • 淘宝商品评论数据接口,淘宝商品评论API接口
  • 455. 分发饼干
  • GEE:数据预处理的细节(处理顺序。比如, select() 和 filter() 要优先于 map())
  • 【AHK】任务栏调节音量/边缘滚动调节/边缘触发
  • Chrome插件 — ReRes
  • 前端面试基础面试题——9