解数 随想录 随想 皇后

代码随想录算法训练营第十天| 232.用栈实现队列 225. 用队列实现栈

232.用栈实现队列 卡哥建议:大家可以先看视频,了解一下模拟的过程,然后写代码会轻松很多。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0232.%E7%94%A8%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.h ......
队列 随想录 训练营 随想 算法

[代码随想录]Day09-栈与队列part01

## 题目:[232. 用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/) ### 思路: 因为go没有栈和队列的类型,直接自己写就行了。 比较简单的实现,具体看代码中的注释。 ### 代码: ```go type ......
随想录 队列 随想 代码 part

代码随想录算法训练营第六天|力扣454.四数相加II、力扣383.赎金信、力扣15.三数之和、力扣18.四数之和

## 四数相加II(力扣454.) - 前两个数组的值直接遍历,并将和存入map中,key为和,value为出现次数 - 后两个数组再次遍历,在map中寻找是否存在0-(c+d),若存在,count+=value - for(a:A){//遍历AB - for(b:B){ - map[a+b]++; ......
之和 随想录 训练营 随想 算法

代码随想录算法训练营第四十五天| 503.下一个更大元素II 42. 接雨水

503.下一个更大元素II 要求: 数组是环,需要找到下一个最大的元素 思路1: 先作为直线遍历,然后没有的节点,放到首部,再找比他大的节点 注意:头节点 代码: 1 // 要求:返回循环数组中下一个更大的数字步数 2 // 思路:先不循环遍历, 3 // 然后对每个-1节点,以他为起始,放到数组的 ......
随想录 训练营 随想 算法 雨水

搞学习混乱随想

在外力施压下处理纷繁复杂的“科研”事物。加了引号,是因为我觉得自己做的东西没用!也不单纯! 待办很多很多,处理不完的各种层次的问题。我很想要想出一个统一的方法论。感觉要看哲学,以前拿起过,又废了。 跟随预期论文的章节作思考,可以算是一个比较简洁直观的guide。但是再往下一层处理,又是一团乱麻。我试 ......
随想

代码随想录算法训练营第九天| 复习字符串和双指针法(看卡哥文章复习)

KMP算法就是在一个字符串中寻找另一个子串,避免了“跳回下一个字符再重新匹配”,实现了在一次字符串的遍历过程中就可以匹配出子串。 28. 实现 strStr() (本题可以跳过) 卡哥建议:因为KMP算法很难,大家别奢求 一次就把kmp全理解了,大家刚学KMP一定会有各种各样的疑问,先留着,别期望立 ......
针法 随想录 训练营 九天 字符串

代码随想录算法训练营第八天| LeetCode 344.反转字符串 541. 反转字符串II 151.翻转字符串里的单词

344.反转字符串 卡哥建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数 题目链接/文章讲解/视频讲解:https://programmercarl.com/0344.%E5%8F%8D%E8%BD%AC%E5%AD ......
字符串 字符 随想录 训练营 随想

[代码随想录]Day08-字符串 part02

## 题目:[28. 找出字符串中第一个匹配项的下标](https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/) ### 思路: 说白了就是匹配字符串,朴素就是暴力以每一个位置为起点都跑一遍。 ......
随想录 字符串 随想 字符 代码

代码随想录算法训练营第四十五天| 739. 每日温度 496.下一个更大元素 I

739. 每日温度 单调栈的思路: 如果要找左边第一个比当前数字大的节点 这个栈里面存放的是index,大——》小 如果一个新节点,比栈顶大,那么就是栈顶的第一个大于它的节点 代码: 1 // 单调栈:一维数组,寻找 元素右边,或者左边自己大或者小的元素的位置 2 3 // 要求:找到比当前节点值高 ......
随想录 训练营 随想 算法 元素

[代码随想录]Day07-字符串 part01

## 题目:[344. 反转字符串](https://leetcode.cn/problems/reverse-string/) ### 思路: 每次把最前面和最后面的交换位置即可 `strings`库里没有反转的方法 ——这个反转是之后几个题的一个基础 ### 代码: 双指针调换位置 ```go ......
随想录 字符串 随想 字符 代码

代码随想录算法训练营第四十四天| 647. 回文子串 516.最长回文子序列

647. 回文子串 要求: 找出回文子串的个数 思路: 设置起始节点 如果头尾相等,且是相差为1,指定回文 如果相差很多,那么就看它的字串 代码: 1 // 要求:找出 正反相等,且连续字符,开始结束位置不同,也认为是一个 2 // dp[n][n] 起始-中止位置 3 // 4 // 如果两边相等 ......
回文 随想录 训练营 序列 随想

代码随想录算法训练营第四十三天| 583. 两个字符串的删除操作 72. 编辑距离

583. 两个字符串的删除操作 要求: 删除最少的步数,来让这两个字符串相等 思路: 求末尾的最长公共子序列的长度,然后减去他们的长度 代码: 1 // 要求:两个字符串,删除任意一个字符后,让这两个字符相等 2 // dp[n][m] 以n-1结尾的字符串变成节点为m-1为子序列的最大个数 3 / ......
随想录 训练营 字符串 随想 算法

代码随想录算法训练营第四十二天| 392.判断子序列 115.不同的子序列

392.判断子序列 要求: 判断第一个字符串是否是第二个字符串的子序列 思路1: 设置成deque,如果长度为0则是 代码1: 1 // 要求: 判断s 是否是t的子序列 2 // 思路: 将s作为queue,如果头相等,那么就弹出,遍历后,查看是否为0 3 // 4 bool isSubseque ......
序列 随想录 训练营 随想 算法

代码随想录算法训练营第七天| LeetCode 454.四数相加II 15. 三数之和 18. 四数之和

454.四数相加II 卡哥建议:本题是使用map巧妙解决的问题,好好体会一下 哈希法如何提高程序执行效率,降低时间复杂度,当然使用哈希法会提高空间复杂度,但一般来说我们都是舍空间换时间, 工业开发也是这样。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0454 ......
之和 随想录 训练营 随想 算法

代码随想录算法训练营第四十一天| 1143.最长公共子序列 1035.不相交的线 53. 最大子序和

1143.最长公共子序列 要求: 可以跳过,找出来最长符合的节点 难点: 如何跳过了之后仍然保留之前的值 思路: 如果不符,并不是dp[i-1][j-2]等于之前的值,而是dp[i][j] 等于它的相关节点 以上很重要 代码 : 1 // 要求: 两个子数组,可以删减跳过,找出最长的长度 2 // ......
随想录 训练营 序列 随想 算法

[代码随想录]Day06-哈希表 part02

## 题目:[454. 四数相加 II](https://leetcode.cn/problems/4sum-ii/) ### 思路: 首先,因为下标不同,因此相同的序列可能会出现很多次。 A + B + C + D = 0,那么当知道保存了A+B的和之后,就看有没有A + B = 0 - C - ......
随想录 随想 代码 part Day

代码随想录算法训练营第五天|力扣242.有效的字母异位词、力扣242.两个数组的交集、力扣202.快乐数、力扣1.两数之和

# 哈希表 ## 哈希表理论基础 哈希表,又称为散列表(Hash Table),是根据关键码的值而直接进行访问的数据结构 其中,数组就是一张哈希表;表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素 - 哈希表解决的问题:一般哈希表都是用来快速判断一个元素是否出现在集合中 - 哈希函数: ......
随想录 之和 训练营 数组 交集

代码随想录算法训练营第三天| LeetCode 242.有效的字母异位词 349. 两个数组的交集 1. 两数之和

242.有效的字母异位词 卡哥建议: 这道题目,大家可以感受到数组用来做哈希表给我们带来的遍历之处。 题目链接/文章讲解/视频讲解: https://programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E ......
随想录 之和 训练营 数组 交集

[代码随想录]Day05-哈希表 part01

## 题目:[242. 有效的字母异位词](https://leetcode.cn/problems/valid-anagram/) ### 思路: 很简单,就是看两个字符串每个字母出现的次数是不是相同的。 可以用两个数组来比较,也可以用一个数组比较。 ### 代码: 一个数组 ```go func ......
随想录 随想 代码 part Day

代码随想录-哈希表-c++总结

哈希表内容整体简单,关键是要有利用map映射的思想,以及巩固一些c++标准库的操作 这次三数之和一题没有直接做出来,关键在于如何查重一点比较绕 15. 三数之和 - 力扣(LeetCode) 利用排序+双指针解决三数之和的思路更加清楚 此外,四数之和中,四个数相加会溢出int,应改为 ......
随想录 随想 代码

代码随想录第四天|力扣24.两两交换链表节点、力扣19.删除链表的倒数第N个结点、力扣面试02.07链表相交、力扣142.环形链表

## 两两交换链表中的节点(力扣24.) - dummyhead .next = head; - cur = dummyhead; - while(cur.next!=null&&cur.next.next!=null) - temp = cur.next; - temp1=cur.next.nex ......
随想录 结点 环形 节点 随想

代码随想录算法训练营第四天| LeetCode 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 142.环形链表II

24. 两两交换链表中的节点 卡哥建议:用虚拟头结点,这样会方便很多。 本题链表操作就比较复杂了,建议大家先看视频,视频里我讲解了注意事项,为什么需要temp保存临时节点。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0024.%E4%B8%A4%E4%B8% ......
节点 随想录 环形 训练营 随想

代码随想录算法训练营第三天|力扣203.移除链表元素、力扣707.设计链表、力扣206.反转链表

# 链表 - 定义:通过指针串联在一起的线性结构,每一个节点由两个部分组成:数据域和指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null,即为空指针。 ## 链表类型 1. 单链表 2. 双链表 3. 循环链表,即链表首尾相连,可以解决约瑟夫环问题 ## 链表的存储方式 数组在内存中 ......
随想录 训练营 随想 算法 元素

编程随想曲周刊(第38期)

这里记录每周的所见所闻,周日发布。点击阅读原文可以直接访问文章链接。 # 工具 1. [为公众号排版做点微小的贡献](https://mp.weixin.qq.com/s/FWgUHSj8nYia6Oz61r37aQ) # 文章 1. [我收楼了,遇到第一个坎](https://mp.weixin. ......
随想曲 随想 周刊

[代码随想录]Day04-链表part02

## 题目:[24. 两两交换链表中的节点](https://leetcode.cn/problems/swap-nodes-in-pairs/) ### 思路: ![6](https://s2.loli.net/2023/07/29/haIsMPevD7OfEpK.png) 首先给他加一个虚拟头结 ......
随想录 随想 代码 part Day

[代码随想录]Day03-链表part01

## 题目:[203. 移除链表元素](https://leetcode.cn/problems/remove-linked-list-elements/) ### 思路: ![20210316095619221](https://s2.loli.net/2023/07/28/s47u8vofDKy ......
随想录 随想 代码 part Day

代码随想录算法训练营第三天| LeetCode 203.移除链表元素(同时也对整个单链表进行增删改查操作) 707.设计链表 206.反转链表

203.移除链表元素 题目链接/文章讲解/视频讲解::https://programmercarl.com/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1%A8%E5%85%83%E7%B4%A0.html 卡哥题目建议:本题最关键是要理解虚拟头结点的使用技巧,这个对链 ......
随想录 训练营 随想 算法 LeetCode

代码随想录算法训练营第四十天| 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

300.最长递增子序列 要求: 可以删减任意个节点,最后保存最大的递增长度 难点: 4 10 4 8 9 如何 保证全局的视角,看到很前面的节点是否大于当前的节点,而不是仅仅记录状态 思路: dp[n] , 当子序列的末尾为N时,它的最大子序列长度 也就意味着,N在它的子序列中是最大的,遍历这个N之 ......
序列 随想录 训练营 数组 随想

代码随想录算法训练营第二天| LeetCode 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

977.有序数组的平方 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 文章讲解:https://programmercarl.com/0977.%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84%E7% ......
数组 随想录 训练营 矩阵 螺旋

[代码随想录]Day02-数组part02

## 题目:[977. 有序数组的平方](https://leetcode.cn/problems/squares-of-a-sorted-array/) ### 思路: 一开始的思路是从中间向两边扩: 1. 找到第一个大于等于0的位置r;判断nums[r]是否大于等于0,如果不是赋值为`len(n ......
随想录 数组 随想 代码 02