• 2024-09-03「代码随想录算法训练营」第五十二天 | 图论 part10
    目录Floyd算法题目:97.小明逛公园A*算法题目:126.骑士的攻击最短路算法总结Floyd算法Floyd算法用于求解多源最短路问题(求多个起点到多个终点的多条最短路径)。在前面学习的dijkstra算法、Bellman算法都是求解单源最短路的问题(即只能有一个起点)。注意:Floyd算法对边的权值正负没
  • 2024-08-29第九章 动态规划Part10
    目录任务300.最长递增子序列思路674.最长连续递增序列思路718.最长重复子数组思路任务300.最长递增子序列子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列思路dp[i]表示以索引i结尾的最
  • 2024-08-15Day 33 动态规划 Part10
    300.最长递增子序列动态规划的版本是挺好理解的,dp[i]代表了以第i个数字结尾的最长递增子序列的长度,dp[0]显然为1。dp如何更新呢?i>0:dp[i]=在i之前,最大的小于nums[i]的数nums[j]dp[i]=dp[j]+1,所以就是需要找到比nums[i]小的最大的数,遍历就可以得到。classSolution
  • 2024-08-15day43-dynamic programming-part10-8.14
    tasksfortoday:1.300.最长递增子序列2.674.最长连续递增序列3.718.最长重复子数组--------------------------------------------------------------------------1.300.最长递增子序列Inthispractice,notethemeaningofthedplist:whichis:dp[i]signifi
  • 2024-08-15代码随想录算法训练营第43天:动态规划part10:子序列问题
    300.最长递增子序列力扣题目链接(opensnewwindow)给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2
  • 2024-03-03day53 动态规划part10 代码随想录算法训练营 121. 买卖股票的最佳时机
    题目:121.买卖股票的最佳时机我的感悟:soeasy 打印dp确实能发现问题理解难点:注意条件,及时更新dp听课笔记:看了,老师的代码,感觉没有我的简洁,哈哈!!我的代码:classSolution:defmaxProfit(self,prices:List[int])->int:#设dp[i]为截止到当前能获得
  • 2023-12-21从零开始构建报警中心:part10 接入统一登录
    前文使用flask-login实现了用户登入登出,在实际使用中过于简单,这里引入统一登录。关于统一登录可以看一下早前的这篇文档:一个简单的SSO统一登录设计对于接入统一登录可以参考一下的时序图:根据这个时序图,要接入已有的SSO,需要对现有系统进行一些修改:未登录情况下,在login视图中添加从co
  • 2023-09-25夜深忽梦少年事(Part10)
    Part10初见繁华省选结束后就去浙江余姚参加浙江省选培训和浙江省赛了……去余姚中学参加培训,印象中题目难度还行,不过不管怎么说比冬令营的培训容易太多了。每天培训基本上是上午比赛,中间吃个饭休息接着写,写完下午讲题,有时候讲讲算法,反正都是听不懂,然后在那里玩手机摸鱼。只不
  • 2023-09-12[代码随想录]Day42-动态规划part10
    题目:121.买卖股票的最佳时机思路:贪心做起来更简单;dp多此一举……状态0是有买入,状态1是代码:funcmaxProfit(prices[]int)int{lens:=len(prices)iflens==0{return0}dp:=make([][]int,lens)fori:=0;i<lens;i++{