![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 62
鳗漪
这个作者很懒,什么都没留下…
展开
-
动态规划--买卖股票含冷冻期309
4、冷冻期(上次状态3)不持有股票的利润 j==3。这道题很明显下一天的利润需要由上一天的状态推导出来,所以这是很明显的动态规划问题。冷冻期的不持有来源:上次卖出股票的不持有。1、定义dp数组含义:dp[i][j]第i天第j个状态所得到的利润。持有股票利润来源:上一次持有、没有卖出股票,这次不持有(下次有冷静期)这次买入、冷冻期的不持有买入。)来源:上次所有不持有的状态。原创 2024-03-31 21:43:30 · 1271 阅读 · 1 评论 -
算法(9)--哈希表(1)哈希表基础知识
在数组的某个位置(y)建立链表结构或者树的结构来增加这个索引可以承载的元素值。个人理解:现在我们有一个数组(arr)和一个值(x),然后通过哈希函数(y = ax),找到数组下得索引(y),然后就能通过索引访问数组里面的元素( arr[y] )。这个方法里的数组只能放一个元素,但出现哈希碰撞时,索引值自动加一,这就得保证哈希表的长度得大于要存储数据的量。哈希碰撞:当某两个值(x)通过哈希函数计算出来的索引值(y)相同时,就会产生哈希碰撞。优点:通过哈希函数找到索引,能快速访问数组的值。原创 2024-02-07 21:02:00 · 341 阅读 · 1 评论 -
算法(8)--链表(5)环形链表 力扣142
走完 x = (n-1)(y-z) + z ,二者依然还在环形入口相遇,因为从相遇点出发的节点只是转了 (n-1)(y-z)圈回到第一次相遇点,然后再走z步,x的意思是,从头结点到环形入口的距离,所以第二次相遇时,他们依然在环形入口。我们定义两个指针,一个快指针(fast)一次走两步,一个慢指针(slow)一次走一步,如果最后他们相遇了,说明该链表有环。即 2(x+y)= x+y+ n(y+z)化简得:x = (n-1)(y-z) + z , 这个式子意味着,如果。时,依然设置两个指针,原创 2024-01-31 09:25:03 · 368 阅读 · 0 评论 -
算法(7)--链表(4)相交链表 力扣160
这道题看似是求两个链表的相交节点,其实是想让我们试图消除两个链表在相交前的链表长度差,如果知道链表长度差后,我们就可以把长的链表先循环到和短的链表同一个起始位置,然后一起往下遍历节点,当他俩的节点相同时,这个节点就是相交链表的相交点,这也是法一的思路。当链表a走到最后时,在赋值到链表b的起点重走一遍b的链表,b链表也是如此操作,到最后,两个链表的指针走得长度是。2、走到尽头看不到你,我把你的路重走一遍直到遇见了你,二者相加等于他们两条链表的总长度,把差值补上了。1、求出两个链表的长度,消除链表长度差;原创 2024-01-30 09:52:50 · 411 阅读 · 1 评论 -
算法(6)--链表(3)删除第N个节点 力扣19
思路:一开始先让fast指针走N+1步(走N+1步的原因是获得待删除节点的上一个节点,用于删除),然后fast指针和slow指针一起走,直到fast为null。很明显如果fast指针和slow指针如果相差N个距离时,最后slow指针指向的节点就是答案。1、遍历一遍链表,算出链表的长度,然后求出链表倒数的第N个节点,再遍历一遍。法一的思路非常直接明了,就是直接使用两个循环就行,下面代码是力扣里的题解。,试想一下,fast指针最后遍历完了链表,slow指针指向哪才是倒数第N个元素呢?快慢指针的距离就是N。原创 2024-01-29 09:49:01 · 398 阅读 · 0 评论 -
算法(5)--链表(2)反转链表 力扣206
本人是刷《代码随想录》这本书时记录一下自己的学习笔记。原创 2024-01-28 11:12:33 · 358 阅读 · 1 评论 -
算法(2)--双指针
快慢指针:一个快指针和一个慢指针可以用一个for循环完成两个for循环的工作(条件是具有单调性)滑动窗口:不断调节子序列的起始位置和终止位置,起始位置和终止位置的区间不可间断。原创 2024-01-20 09:39:46 · 309 阅读 · 0 评论 -
算法(1)--二分法
1、二分查找注意区间的定义while(left原创 2024-01-18 20:58:28 · 391 阅读 · 1 评论 -
算法(4)--链表(1)力扣203
本文实现删除链表两种操作:一种是带有头结点:需要准备两个节点,记录一个记录待删除节点的前一个节点,记录一个记录待删除节点;一种是不带有头结点:执行逻辑分为两个,一个是首结点的删除,一个是其他节点的删除。原创 2024-01-22 20:33:36 · 349 阅读 · 0 评论