随想

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

LeetCode 977 有序数组的平方 题目链接:977.有序数组的平方 思路:双指针,由两侧向中间逼近 LeetCode 209.长度最小的子数组 题目链接:209.长度最小的子数组 思路:滑动窗口,关键点滑动窗口起始点和终止点位置关系的确定 LeetCode 59.螺旋矩阵 题目链接:59.螺 ......
数组 随想录 训练营 矩阵 螺旋

代码随想录算法训练营第一天|704.二分查找、27.移除元素

LeetCode 704 二分查找 题目链接 704.二分查找 二分法 确定区间 (循环不变量):对于有序数组,定义循环区间二分查找元素 LeetCode 27.移除元素 题目链接:27.移除元素 快慢指针,快指针查,慢指针存 ......
随想录 训练营 随想 算法 元素

代码随想录算法训练营第一天 | 数组理论基础,704. 二分查找,27. 移除元素

一、数组理论基础 学习前: 1. 数组定义 一些在内存上连续存储的相同数据类型的数据的集合 2. 数组特征 便于查询数组元素,不便于增删数据元素 学习后: 对于Java,二维数组不一定在内存上连续。如int[i][j],唯一确定的是int[i][]在内存上连续 二、704. 二分查找 LeetCod ......
随想录 训练营 数组 随想 算法

代码随想录算法训练营第一天| LeetCode704 二分查找、27移除元素

Leetcode704:二分查找 今日学习的文章链接: 代码随想录 (programmercarl.com) 题目链接: 704. 二分查找 - 力扣(LeetCode) ● 自己看到题目的第一想法 这题我会,但是还没明白卡尔说的循环不变量是什么意思。 我的固定思路就是,target比中间值大,左指 ......
随想录 训练营 随想 算法 LeetCode

代码随想录算法训练营Day1 | 704.二分查找、27.移除元素

LeetCode704.二分查找 二分查找是一种基础的算法,其核心思想在高中数学中就已经被大家所熟知了,然而对于代码的实现,其细节问题常常令人头疼,比如while循环的条件是什么?middle是该+1还是-1?这些问题需要有一个清晰的认知。 题目链接如下:704.二分查找 Carl的讲解链接:二分查 ......
随想录 训练营 随想 算法 元素

代码随想录Java代码实现

第一章 数组 704.二分查找 关键词:二分法、双指针、边界处理 思路是使用二分查找方法,用左右指针不断进行二分来缩小范围,以这个为主要的思路,处理一些小的细节: java中的除法是去尾除法。 设定退出条件,退出条件与mid给两个指针的赋值相关。在这里是采取的加减1的方法,所以判断条件是大于等于。如 ......
代码 随想录 随想 Java

随想

我的算法竞赛真的结束了吗,就这样结束了,没有留下任何痕迹,甚至不好意思称曾经的自己为acmer,没有泛起一丝浪花的结束了(? 或许我都没有意识到,杭州站是我竞赛生涯里的最后一舞了,我这辈子没办法继续参加icpc区域赛了。 在最后的杭州,我仿佛才懂了icpc的意义,激情,刺激,思维的碰撞,享受ac的乐 ......
随想

代码随想训练营第六十天(Python)| 84. 柱状图中最大的矩形

84. 柱状图中最大的矩形 1、双指针 class Solution: def largestRectangleArea(self, heights: List[int]) -> int: n = len(heights) # 左右第一个小于 i 的下标 min_l, min_r = [0] * n ......
矩形 训练营 随想 代码 Python

代码随想录算法训练营第10天 | lc20、lc1047、lc150

(本合集全部为Go语言实现) 相关文章链接:20题解 1047题解 150题解 相关视频链接: Leetcode20 状态:秒了 实现过程中的难点:经典的栈应用 从题解中学到的一个写法 func isValid(s string) bool { if (len(s) & 1) == 1 { retu ......
随想录 训练营 随想 算法 lc

代码随想录算法训练营第9天 | lc232、lc225

(本合集全部为Go语言实现) 相关文章链接:232题解 225题解 相关视频链接: Leetcode232 状态:在go语音对于队列和栈的实现上稍微卡了一下 实现过程中的难点:对于进队和出队两块的思路想出来就好写了 个人写法 type MyQueue struct { inStack, outSta ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第8天 | lc28、lc459

(本合集全部为Go语言实现) 相关文章链接:28题解 459题解 相关视频链接: Leetcode28 状态:每次看都有新体验,稍微耗了些时间复习了一下 实现过程中的难点:主要还是KMP算法,对于这种经典的算法,能理解代码含义当然是一方面,自我感觉还是得稍微一点时间在看懂一套实现之后稍微背一下代码, ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第7天 | lc344、lc541、卡码54、lc151、卡码55

(本合集全部为Go语言实现) 相关文章链接:344题解 541题解 卡码54题解 151题解 卡码55题解 相关视频链接: Leetcode344 状态:秒了 实现过程中的难点:对撞双指针 个人写法 func reverseString(s []byte) { for i, j := 0, len( ......
随想录 训练营 随想 算法 lc

代码随想录算法训练营第6天 | lc454、lc383、lc15、lc18

(本合集全部为Go语言实现) 相关文章链接:454题解 383题解 15题解 18题解 相关视频链接: Leetcode454 状态:秒了 实现过程中的难点:思想就是利用哈希表将部分和记录下来,最终实现将n ^ 4转换为2 * n ^ 2 个人写法 func fourSumCount(nums1 [ ......
随想录 训练营 lc 随想 算法

代码随想训练营第五十九天(Python)| 503.下一个更大元素II、42. 接雨水

[503.下一个更大元素II] 循环问题用 2*n , i % n 的方式 n = len(nums) ans = [-1] * n stack = [] for i in range(2 * n): while len(stack) > 0 and nums[i % n] > nums[stack ......
训练营 九天 随想 雨水 元素

day8、9字符串代码随想录

第四章 字符串 ● 344.反转字符串 ● 541. 反转字符串II ● 卡码网:54.替换数字 ● 151.翻转字符串里的单词 ● 卡码网:55.右旋转字符串 1 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的 ......
随想录 字符串 随想 字符 代码

代码随想训练营第58天(Python)| 739. 每日温度、496.下一个更大元素 I

739. 每日温度 class Solution: def dailyTemperatures(self, temperatures: List[int]) -> List[int]: n = len(temperatures) ans = [0] * n # 单调增的栈 stack = [] fo ......
训练营 随想 元素 温度 代码

代码随想录算法训练营第七天| 344.反转字符串 541. 反转字符串II

LeetCode 344.反转字符串 题目链接: LeetCode344 思路: 定义left、right指针,将两指针对应的值反转即可 class Solution { public: void reverseString(vector<char>& s) { int n = s.size(); ......
字符串 字符 随想录 训练营 随想

代码随想训练营第五十七天(Python)| 647. 回文子串、516.最长回文子序列

647. 回文子串 1、中心扩散法+双指针 class Solution: def countSubstrings(self, s: str) -> int: res = 0 for i in range(len(s)): # 以 i 为中心 res += self.countPalind(i, i ......
回文 训练营 序列 随想 代码

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

LeetCode 454.四数相加 题目链接: LeetCode454 思路: 将两个数组中的数存放到一个map中,用另外两个数组的值在map中去减 class Solution { public: int fourSumCount(vector<int>& A, vector<int>& B, v ......
之和 随想录 训练营 随想 算法

代码随想训练营第五十六天(Python)| 583. 两个字符串的删除操作、72. 编辑距离

583. 两个字符串的删除操作 class Solution: def minDistance(self, word1: str, word2: str) -> int: n, m = len(word1), len(word2) # dp 数组代表使得 word1 以 i-1 结尾和 word2 ......
训练营 字符串 随想 字符 两个

代码随想训练营第五十五天(Python)| 392.判断子序列、115.不同的子序列

392.判断子序列 1、双指针 class Solution: def isSubsequence(self, s: str, t: str) -> bool: m, n = len(s), len(t) i, j = 0, 0 while m > i and n > j: if s[i] == t ......
序列 训练营 随想 代码 Python

代码随想训练营第五十三天(Python)| 1143.最长公共子序列 、1035.不相交的线 、53. 最大子序和

1143.最长公共子序列 class Solution: def longestCommonSubsequence(self, text1: str, text2: str) -> int: m, n = len(text1), len(text2) # dp 数组代表 text1 以 i-1 结尾 ......
训练营 序列 随想 代码 Python

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

LeetCode 242.有效的字母异位词 题目链接: LeetCode242 思路: 使用C++自带的库函数,经过排序后进行比较(使用库函数) class Solution { public: bool isAnagram(string s, string t) { if(s.length() ! ......
随想录 之和 训练营 数组 交集

day5代码随想录

哈希表理论基础;242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和 来源:代码随想录 (programmercarl.com) ​ 6.2 哈希冲突 - Hello 算法 (hello-algo.com) 1哈希表理论基础 又称散列表 一般哈希表都是用来快速判断一个元素是 ......
随想录 随想 代码 day5 day

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

这里记录每周的所见所闻,周日发布。点击阅读原文可以直接访问文章链接。 运维 16 张动图讲透网络原理 windows server 2008 R2 Enterprise 防火墙开启允许远程桌面登录 编程 科技爱好者周刊#280:机器点餐与宅文化 文章 人生应该「倒序选择」 播客 Vol040 老池对 ......
随想曲 随想 周刊

代码随想录算法训练营第5天 | lc242、lc349、lc202、lc1

(本合集全部为Go语言实现) 相关文章链接:242题解 349 202题解 1题解 相关视频链接: Leetcode242 状态:秒了 实现过程中的难点:对于元素固定是小写字母或类似的情况,可以使用数组,因为元素最大数量是固定的 个人写法 func isAnagram(s string, t str ......
随想录 训练营 lc 随想 算法

代码随想录算法训练营第4天 | leetcode24、leetcode19、leetcode面试题02

(本合集全部为Go语言实现) 相关文章链接:24题解 19题解 02.07题解 142题解 相关视频链接: Leetcode24 状态:秒了 实现过程中的难点:对组内两个节点的指针指向流转需要倒腾明白。临时头结点真的很有用 个人写法 func swapPairs(head *ListNode) *L ......
leetcode 随想录 训练营 随想 算法

代码随想录算法训练营第3天 | leetcode203、leetcode707、leetcode206

(本合集全部为Go语言实现) 相关文章链接:203题解 707题解 206题解 相关视频链接: Leetcode203 状态:秒了 实现过程中的难点:链表遍历一定要记得指针后移。另外,在头指针前加入一个新的临时头节点可以统一整个遍历过程,否则需要先确定初始时两指针的状态 个人写法 /** * Def ......
leetcode 随想录 训练营 随想 算法

代码随想录算法训练营第2天 | leetcode977、leetcode209、leetcode59

(本合集全部为Go语言实现) 相关文章链接:977题解 209题解 59题解 相关视频链接:977视频 209视频 59视频 Leetcode977 状态:按自定义排序策略的方式秒了。尝试使用双指针法,但是以为是需要原地进行操作,试了一下失败了 实现过程中的难点:需要明确的是对撞指针两者的平法比较时 ......
leetcode 随想录 训练营 随想 算法

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

LeetCode 24. 两两交换链表中的节点 题目链接: LeetCode 24 思路: 交换结点前将cur后第一个结点和第三个结点进行保存,然后修改cur指向头节点后再修改头节点后的结点 class Solution { public: ListNode* swapPairs(ListNode* ......
节点 随想录 环形 训练营 随想