之和 随想录 随想day7

力扣16.最接近的三数之和(双指针)

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1: 输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 ta ......
之和 指针 16

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

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

力扣-三数之和

1.问题 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意: 答案中不可以包含重复的三元组。 示例: 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足 ......
之和

雅礼集训三十天,day7

总结 呃呃(考的最糟糕的一次!!) 0 + 100 + 0 + 0 = 100分 第三题用成了dp,第四题重载运算符写寄了!!! 总之WSSB T1 这题要我们让 \(s\) 的数量最大化,那我们可以试试贪心,我们让 \(k\) 个为一组来考虑,后面只需要乘上 \(n \div k\),在考虑一下最 ......
day7 day

代码随想录算法训练营-动态规划-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

代码随想录算法训练营day17 | ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和

110.平衡二叉树 class Solution { public: int getHeight(TreeNode* node){ if(node == NULL) return 0; int leftHeight = getHeight(node->left); if(leftHeight == ......
随想录 之和 训练营 随想 算法

随想录Day3|203. 移除链表元素、707. 设计链表、206. 反转链表

随想录Day3|203. 移除链表元素、707. 设计链表、206. 反转链表 之后的文章就不放题目链接了,因为真的很推荐Vscode的LeetCode插件,搜一下题号就可以开始code了! 我没怎么用过C++所以也是才开始熟悉它的特性,因为是链表的开始,所以搬运一下卡尔的这一小段代码。 // 单链 ......
随想录 随想 元素 Day3 Day

力扣15.三数之和

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可 ......
之和 15

n数之和

n 数之和 本质上就是将双指针作为等效循环(n 层循环 + 双指针 = n + 1 层循环),实现复杂度降维 两数之和(核心) 排序 + 首尾双指针 vector<vector<int>> twoSum(vector<int> &nums, int target) { vector<vector<i ......
之和

[代码随想录]Day51-单调栈part02

题目:503. 下一个更大元素 II 思路: 总之就是走两次nums,可以拼接,也可以用下面的取余方式。 代码: func nextGreaterElements(nums []int) []int { lens := len(nums) res := make([]int, lens) for i ......
随想录 随想 代码 part Day

随想录Day2|977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵Ⅱ

随想录Day2|977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵Ⅱ 977. 有序数组的平方 LeetCode题目 文章讲解 视频讲解 给定一个按非递减顺序的整数数组nums,返回每个数字的平方组成的新数组,也要按照非递减顺序排序。 1 <= nums.length <= 10 ......
数组 随想录 矩阵 螺旋 随想

代码随想录算法训练营-贪心算法-5|56. 合并区间、738. 单调递增的数字、968. 监控二叉树

56. 合并区间 时间复杂度: O(nlogn) 空间复杂度: O(logn),排序需要的空间开销 1 class Solution: 2 def merge(self, intervals): 3 result = [] 4 if len(intervals) == 0: 5 return res ......
算法 随想录 训练营 区间 随想

[代码随想录]Day50-单调栈part01

题目: 思路: 要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了 代码: func dailyTemperatures(num []int) []int { res := make([]int, len(num)) stack := []int{} fo ......
随想录 随想 代码 part Day

代码随想录算法训练营day14| ● 二叉树理论基础 ● 递归遍历 ● 迭代遍历 ● 统一迭代

二叉树理论基础 二叉树的种类 满二叉树 | 完美二叉树:没有缺少的结点,叶子结点也全满 完全二叉树:只有最底层结点没满,但必须从左到右连续。(满二叉树是特殊的完全二叉树) 二叉搜索树:左小右大 平衡二叉搜索树: 左右子树的高度差 Δh <= 1 二叉树的存储方式: 链式存储:链表 **顺序存储: * ......
随想录 训练营 随想 算法 理论

代码随想录算法训练营day15 | ● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2

层序遍历 102.二叉树的层序遍历 class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> result; queue<TreeNode*> que; if(root ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营day16 | ● 104.二叉树的最大深度 559.n叉树的最大深度 ● 111.二叉树的最小深度 ● 222.完全二叉树的节点个数

104.二叉树的最大深度 后序遍历法 class Solution { public: int getdepth(TreeNode* node){ if(node == NULL) return 0; int leftdepth = getdepth(node->left); int rightde ......
深度 随想录 训练营 节点 随想

算法讨论题 —— Java实现两数之和

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。即:每个index上的数字只能用一次。 示例 给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 ......
之和 算法 Java

日常记录--day7--2023-9月20日--周三

日程:今天只有上午有节英语课,8点30起床,吃了个早饭去上课。中午小睡一个小时,下午没课,起来学习了一会Javaweb,今天主要学了HTML,自己写了个简单的,晚上7-9点继续javaweb,今天没有力扣。 学了什么:Javaweb让人头疼,复习了之前的力扣题,继续学习Javaweb。 PS:不想学 ......
day7 2023 day

[代码随想录]Day49-动态规划part17

题目:647. 回文子串 思路: 整体上是两种,就是s[i]与s[j]相等,s[i]与s[j]不相等这两种。 当s[i]与s[j]不相等,那没啥好说的了,dp[i][j]一定是false。 当s[i]与s[j]相等时,这就复杂一些了,有如下三种情况 情况一:下标i 与 j相同,同一个字符例如a,当然 ......
随想录 随想 代码 动态 part

力扣1.两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7, ......
之和

[代码随想录]Day48-动态规划part16

题目:583. 两个字符串的删除操作 思路: 还是最长公共子序列,假设最长公共子序列长度是l;那么需要删除的次数是len(s1) - l + len(s2) - l 代码: func minDistance(word1 string, word2 string) int { lens1 := len ......
随想录 随想 代码 动态 part

代码随想录算法训练营第十一天

代码随想录算法训练营第十一天 | LeetCode 239(滑动窗口最大值) LeetCode 347(前K个高频元素) 239: 滑动窗口最大值 LeetCode 239(滑动窗口最大值) import java.util.Deque; import java.util.LinkedList; c ......
随想录 训练营 随想 算法 代码

第一题 两数之和(Map功能描述待完成)

先是我的暴力解法(有点菜): 1 class Solution { 2 public int[] twoSum(int[] nums, int target) { 3 for(int i = 0; i < nums.length-1; i++) 4 { 5 for(int j = i + 1; j ......
之和 功能 Map

代码随想录算法训练营-贪心算法-4|406. 根据身高重建队列、452. 用最少数量的箭引爆气球

406. 根据身高重建队列 1. 一定要想如何确定一个维度,然后再按照另一个维度重新排列。 2. 先确定身高的维度,降序排列。 3. 按照身高排序之后,优先按身高高的people的k来插入,后序插入节点也不会影响前面已经插入的节点,最终按照k的规则完成了队列。 4. 局部最优:优先按身高高的peop ......
算法 随想录 队列 训练营 气球

代码随想录算法训练营day13| ● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总结

239.滑动窗口最大值 mydemo--(自己思路)--failed 超出时间限制 class Solution { public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { vector<int> result; stack< ......
随想录 最大值 训练营 随想 算法

代码随想录算法训练营day11| ● 20. 有效的括号 ● 1047. 删除字符串中的所有相邻重复项 ● 150. 逆波兰表达式求值

20.有效的括号 卡哥demo class Solution { public: bool isValid(string s) { if(s.size() %2 != 0) return false; stack<char> st; for(int i = 0; i < s.size(); i++) ......

[代码随想录]Day47-动态规划part15

题目:392. 判断子序列 思路: 最长子序列的长度是不是len(s) 代码: func isSubsequence(s string, t string) bool { dp := make([][]int,len(s)+1) for i:=0;i<len(dp);i++{ dp[i] = mak ......
随想录 随想 代码 动态 part
共2000篇  :10/67页 首页上一页10下一页尾页