随想录

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

今日学习的文章链接和视频链接 https://programmercarl.com/栈与队列理论基础.html ● 232.用栈实现队列 var MyQueue = function() { this.stackIn = []; this.stackOut = [] }; /** * @param ......
队列 随想录 训练营 随想 算法

代码随想录算法训练营第十天 | ●28. 实现 strStr() ●459.重复的子字符串 ●字符串总结 ●双指针回顾

今日学习的文章链接和视频链接 https://programmercarl.com/字符串总结.html#什么是字符串 https://programmercarl.com/双指针总结.html#数组篇 ●28. 实现 strStr() var strStr = function (haystack ......
字符串 字符 随想录 训练营 指针

代码随想录算法训练营第八天 | ● 344.反转字符串 ● 541. 反转字符串II ● 卡码网:54.替换数字 ● 151.翻转字符串里的单词 ● 卡码网:55.右旋转字符串

今日学习内容 ● 344.反转字符串 var reverseString = function(s) { // return s.reverse(); for(let i = 0 , j = s.length-1;i < Math.floor(s.length/2) ; i++,j--){ [s[i ......
字符串 字符 随想录 训练营 随想

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

今日学习的文章链接和视频链接 https://programmercarl.com/链表理论基础.html ● 454.四数相加II var fourSumCount = function(nums1, nums2, nums3, nums4) { let count = 0 let map = n ......
之和 随想录 训练营 随想 算法

代码随想录算法训练营第六天 |● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数 ● 1. 两数之和

今日学习的文章链接和视频链接 https://programmercarl.com/哈希表理论基础.html 242.有效的字母异位词 var isAnagram = function(s, t) { if(s.length !== t.length) return false let map = ......
随想录 之和 训练营 数组 交集

代码随想录第八天| 字符串总结 双指针总结

1. 字符串总结1. Python对于字符串的处理 python的字符串是immutable的,同时其也不像c++或c需要特殊的停止符来表示终止:由于python字符串不可变的特性,python底层会记录每个字符串的长度,所以其不需要终止符。 2. 要不要使用库函数 如果题目的关键部分可以使用库函数 ......
随想录 字符串 指针 随想 字符

代码随想录----做题篇

ABOUT 只做题,想思路 二分法 思路:两端的平均数跟要找的值对比,小了就缩小左边区间,大了就缩小右边区间,然后再次求两端的平均数,小了就缩小左边区间,大了就缩小右边区间,最终到达循环结束 对比加缩小区间,写法很简单 if (nums[mid] > target){ right = mid; } ......
随想录 随想 代码

代码随想录第七天 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

07:04:26 第一题:https://leetcode.cn/problems/4sum-ii/ 早上起来人不清醒,模模糊糊过掉了,晚上再重新复习一下 关键是这串 for a in nums3: for b in nums4: wow_sum = -(a + b) if wow_sum in h ......
之和 随想录 随想 代码 454

代码随想录训练营第二十天打卡(Python)| 654.最大二叉树 、617.合并二叉树 、700.二叉搜索树中的搜索 、98.验证二叉搜索树

654.最大二叉树 1、使用切片 class Solution: def constructMaximumBinaryTree(self, nums: List[int]) -> Optional[TreeNode]: if len(nums) == 0: return None max_val = ......
随想录 训练营 随想 代码 Python

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

question 1 :Swap Nodes in Pairs https://leetcode.cn/problems/swap-nodes-in-pairs/ I was a little confused at first because I'm thinking whether should ......
节点 随想录 环形 随想 代码

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

今日学习的文章链接和视频链接 https://programmercarl.com/链表理论基础.html 203.移除链表元素 var removeElements = function(head, val) { let node = new ListNode(null,head) let q = ......
随想录 训练营 随想 算法 元素

代码随想录第三天 | 203.移除链表元素 707.设计链表 206.反转链表

第一题:https://leetcode.cn/problems/remove-linked-list-elements/ 我一开始打算是搞先判断第一个节点是不是,如果不是就作为头节点来着,不过后来一想觉得太麻烦了,仔细一看题目发现居然已经提供了模拟头节点的方法,就用了呗 GPT3.5:那你我的想法 ......
随想录 随想 元素 代码 203

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

今日学习的文章链接和视频链接 https://programmercarl.com/0977.有序数组的平方.html https://programmercarl.com/0209.长度最小的子数组.html https://programmercarl.com/0059.螺旋矩阵II.html ......
数组 随想录 训练营 矩阵 螺旋

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

https://leetcode.cn/problems/squares-of-a-sorted-array/ 第一题一眼双指针,过 第二题 https://leetcode.cn/problems/minimum-size-subarray-sum/ 同理用指针,形不似神似 https://lee ......
数组 随想录 矩阵 螺旋 随想

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

今日学习的文章链接和视频链接 https://programmercarl.com/数组理论基础.html 二分查找 二分查找最开始看到感觉比较简单,随手写出来了左闭右闭的情况,从来没想过左闭右开的情况,涨了见识 var search = function(nums, target) { let l ......
随想录 训练营 随想 算法 元素

代码随想录刷题笔记

代码随想录 数组 704. 二分查找 力扣题目链接 class Solution { public int search(int[] nums, int target) { int left = 0, right = nums.length-1; while (left <= right) { in ......
随想录 随想 代码 笔记

代码随想录第六天 | 哈希表、242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数、1. 两数之和

哈希表 什么是哈希表 哈希表是根据关键码的值而直接进行访问的数据结构。 简单的例子:数组 什么时候想到用哈希法 当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。 哈希碰撞 元素通过哈希函数被映射到同一个索引下标位置 解决方法: 拉链法 从发生冲突的位置拉出一条链表,发生冲突的元素 ......
随想录 之和 数组 交集 随想

代码随想录算法训练营-动态规划-3-(0-1背包问题)|416. 分割等和子集、1049. 最后一块石头的重量 II

416. 分割等和子集 01背包的递推公式为:dp[j] = max(dp[j], dp[j - weight[i]] + value[i]); 如果dp[j] == j 说明,集合中的子集总和正好可以凑成总和j,理解这一点很重要。 1 class Solution: 2 def canPartit ......
随想录 子集 训练营 随想 算法

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

977 有序数组的平方 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 思路:双指针(实际是三指针),两个找最大值,一个确定平方后的位置。 209.长度最小的子数组 题目链接:https://leetcode.cn/probl ......
数组 随想录 矩阵 螺旋 随想

代码随想录训练营的第二天(Python)| 977.有序数组的平方、209.长度最小的子数组

977.有序数组的平方 暴力求解(O(n+logn)) class Solution: def sortedSquares(self, nums: List[int]) -> List[int]: return sorted(i**2 for i in nums) 双指针(O(n)) 由于列表是单调 ......
数组 随想录 训练营 随想 长度

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

704. 二分查找 链接:https://leetcode.cn/problems/binary-search/description/ 思路:关键是定义清楚区间边界,想清楚middle在计算中是否可能取到左边界or右边界。若采用闭区间,则middle可能等于左/右 边界值。 27. 移除元素 链接 ......
随想录 训练营 随想 算法 元素

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

Leetcode 704 二分查找 题目链接:704 二分查找 关键点思路: 1、是否要进入到 while 部分的代码是 left <= right 还是 left < right, 看 [left, right] 是否是合法区间. 例如 [1, 1] 是合法区间,取<=; [1, 1) 非合法区间 ......
随想录 训练营 随想 算法 元素

随想录Day8|344. 反转字符串、541. 反转字符串Ⅱ、LCR 122. 路径加密、151. 反转字符串里的单词、LCR182. 动态口令

随想录Day8|344. 反转字符串、541. 反转字符串Ⅱ、LCR 122. 路径加密、151. 反转字符串里的单词、LCR182. 动态口令 题目越来越长了…… 344. 反转字符串 文章&视频讲解 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外 ......
字符串 字符 随想录 口令 随想

代码随想录day21 | ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先

530. 二叉搜索树的最小绝对差 class Solution { private: int result = INT_MAX; TreeNode* pre = NULL; void traversal(TreeNode* cur){ if (cur == NULL) return; travers ......
随想录 祖先 随想 代码 day

随想录Day7|454. 四数相加Ⅱ、383. 赎金信、15. 三数之和、18. 四数之和

随想录Day7|454. 四数相加Ⅱ、383. 赎金信、15. 三数之和、18. 四数之和 454. 四数相加Ⅱ 文章&视频讲解 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, ......
之和 随想录 随想 Day7 Day

随想录Day5|242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

随想录Day5|242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和 242. 有效的字母异位词 文章&视频讲解 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互 ......
随想录 之和 数组 交集 随想

代码随想录算法训练营-动态规划-2|62. 不同路径

62. 不同路径 1 class Solution: 2 def uniquePaths(self, m: int, n: int) -> int: 3 # 创建一个二维列表用于存储唯一路径数 4 dp = [[0] * n for _ in range(m)] 5 6 # 设置第一行和第一列的基本 ......
随想录 训练营 随想 算法 路径

随想录Day4|24. 两两交换链表中的节点、19. 删除链表的倒数第N个节点、面试题 02.07. 链表相交、142. 环形链表Ⅱ

随想录Day4|24. 两两交换链表中的节点、19. 删除链表的倒数第N个节点、面试题 02.07. 链表相交、142. 环形链表Ⅱ 24. 两两交换链表中的节点 文章讲解 视频讲解 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能 ......
节点 随想录 环形 随想 Day4

代码随想录算法训练营-动态规划-1|509. 斐波那契数、70. 爬楼梯

509. 斐波那契数 1 class Solution: 2 def fib(self, n: int) -> int: 3 if n <= 2: 4 return n 5 6 prev1, prev2 = 0, 1 7 for _ in range(2, n+1): 8 sum_value = p ......
随想录 训练营 随想 算法 楼梯

[代码随想录]Day52-单调栈part03

题目:84. 柱状图中最大的矩形 思路: 实现要确定一个核心问题:包含完整一个柱子的最大矩形要找到这根柱子左侧最后一个高于他的柱子以及右侧最后一个高于他的柱子的位置(等同于左侧第一个小于他,右侧第一个小于他,因为+1 -1就是) 只要get到一个点,比如:30 50 70 80 60 70 40 这 ......
随想录 随想 代码 part Day