之和 随想录day7-leetcode随想

代码随想训练营第四十五天(Python)| 70. 爬楼梯 (进阶)、322. 零钱兑换 、 279.完全平方数

70. 爬楼梯 (进阶) 1、使用 01 背包解法 class Solution: def climbStairs(self, n: int) -> int: # dp 数组代表爬上第 i 阶有 dp[j] 种方法 dp = [0] * (n + 1) dp[0] = 1 m = 2 # 排列先背包 ......
零钱 训练营 随想 楼梯 代码

代码随想训练营第四十四天(Python)| 完全背包、518. 零钱兑换 II 、377. 组合总和 Ⅳ

[完全背包] 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。 1、先遍历物品再遍历背包 def all_bag(weight, value, bag ......
零钱 训练营 总和 随想 背包

代码随想录day2

977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 1有序数组的平方 ​ 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 2 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该 ......
随想录 随想 代码 day2 day

代码随想录算法训练营第一天 | ( Part 1 ) 704. 二分查找

代码随想录算法训练营第一天 | ( Part 1 ) 704. 二分查找 704. 二分查找 题目链接:https://leetcode.cn/problems/binary-search/ 文档链接:https://programmercarl.com/0704.%E4%BA%8C%E5%88%8 ......
随想录 训练营 随想 算法 代码

算法刷题记录-数组之和

算法刷题记录-数组之和 四数相加Ⅱ 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums ......
之和 数组 算法

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

LeetCode 704 二分查找 题目链接 : LeetCode704 左闭右闭: 视频讲解: 手把手带你撕出正确的二分法 思路: 在循环条件中注明left<=right,即[left,right] class Solution { public: int search(vector<int>& ......
随想录 训练营 随想 算法 元素

思维题随想(一)

1. 洛谷 P9678 [ICPC2022 Jinan R] Tree Distance 一个套路:支配点对。在本题中的意思是,若 $x_1\leq x_2\leq y_2\leq y_1$ 且 $dis(x_2,y_2)\leq dis(x_1,y_1)$,那么 $(x_2,y_2)$ 就支配了 ......
随想 思维

代码随想录-哈希

242.有效的字母异位词 https://leetcode.cn/problems/valid-anagram/description/ class Solution { public: bool isAnagram(string s, string t) { if(s.size()!=t.size ......
随想录 随想 代码

代码随想训练营第四十三天(Python)| 1049.最后一块石头的重量II、 494. 目标和 、 474.一和零

1049.最后一块石头的重量II class Solution: def lastStoneWeightII(self, stones: List[int]) -> int: total = sum(stones) target = total // 2 dp = [0] * (target + 1 ......
训练营 随想 重量 石头 目标

力扣907. 子数组的最小值之和(单调栈)

给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。 由于答案可能很大,因此 返回答案模 10^9 + 7 。 示例 1: 输入:arr = [3,1,2,4] 输出:17 解释: 子数组为 [3],[1],[2],[4],[3,1],[1,2], ......
之和 数组 907

907. 子数组的最小值之和(贡献法,单调栈,前后缀分解)

题目不难,但是涉及到的知识点很丰富。 class Solution: def sumSubarrayMins(self, arr: List[int]) -> int: MOD = 10 ** 9 + 7 n = len(arr) pre = [-1] * n suf = [n] * n stk = ......
之和 数组 后缀 贡献 907

两数之和

这个是leecode第一题大家应该很熟悉吧,一般第一思路就是暴力求解 今天讲一个其他思路用HashMap class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new Ha ......
之和

两数之和

梦开始的地方,两数之和 巧妙之处在于value做key,idx做val 可能会问:如果value冲突的?即两个一样的值 首先这是两数和问题: 如果这两个重复的数正好被选上,那么一个记录在map中,一个未记录,没问题 如果只是一个数倍选上,那么map中的记录会被后续出现的重复数更新,但并不影响(题设有 ......
之和

代码随想训练营第四十二天(Python)| 0-1 背包基础、416. 分割等和子集

[背包基础] 题目:有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 1、二维方式解决背包问题 class Solution: def solve_bag(self, wei ......
子集 训练营 随想 背包 代码

代码随想训练营第四十一天(Python)| 不同的二叉树搜索树

96.不同的二叉搜索树 1、关键点找出状态转移方程 class Solution: def numTrees(self, n: int) -> int: # 创建 dp 数组, dp[i] 代表节点数为 i 的二叉搜索树数量 dp = [0]*(n+1) # 初始化数组 dp[0] = 1 # 遍历 ......
训练营 随想 代码 Python

代码随想训练营第三十九天(Python)| 62.不同路径、63. 不同路径 II、343. 整数拆分

62.不同路径 class Solution: def uniquePaths(self, m: int, n: int) -> int: # dp[i][j] 代表到达 dp[i][j] 有多少不同路径 dp = [[0]*n for _ in range(m)] # 初始化 for i in r ......
路径 训练营 整数 九天 随想

代码随想录-链表

203.移除链表元素 https://leetcode.cn/problems/remove-linked-list-elements/description/ /** * Definition for singly-linked list. * struct ListNode { * int va ......
随想录 随想 代码

代码随想录-数组

704.二分查找 https://leetcode.cn/problems/binary-search/description/ class Solution { public: int search(vector<int>& nums, int target) { int left = 0; in ......
随想录 数组 随想 代码

18. 四数之和

2023-11-22 18. 四数之和 - 力扣(LeetCode) 思路: 和之前的一篇博客的思路相同的,都是排序+双指针 只不过多加了一层循环,总时间复杂度为o(n3) 15. 三数之和 - 追梦•少年 - 博客园 (cnblogs.com) 双指针: class Solution { publ ......
之和 18

15. 三数之和

2023-11-22 15. 三数之和 - 力扣(LeetCode) 思路: 三者都不相同,和为0,可以作为i》j》k 不影响的,可能有多个 一开始想的是:暴力法 3层循环,有点bt 借用哈希表,变为2层循环 后来发现会有去重问题,很麻烦 可以进一步思考-》nums[i]<=nums[j]<=num ......
之和 15

[1] 两数之和

1 /** 2 * @param {number[]} nums 3 * @param {number} target 4 * @return {number[]} 5 */ 6 var twoSum = function (nums, target) { 7 const ll = nums.len ......
之和

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

这里记录每周的所见所闻,周日发布。点击阅读原文可以直接访问文章链接。 文章 关于王自如和董明珠的那点事 虽远必诛!缅北明家被一网打尽,网友:战狼3都不敢这么拍! 我们对世界的假设,几乎决定了我们的个人命运 失败不是人生终点,和丈夫在一起,就有希望!|叶檀回信 2023国庆假期能做的6件小事 生活 装 ......
随想曲 随想 周刊

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

今日学习的内容 ● 20. 有效的括号 var isValid = function(s) { let stack = [] ; for(let i = 0 ;i < s.length ; i++){ let temp = s[i]; if(temp == '('){ stack.push(')') ......

代码随想录算法训练营第十天 | ● 理论基础 ● 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 = ......
随想录 之和 训练营 数组 交集

代码随想训练营第三十七天(Python)| 738.单调递增的数字、968.监控二叉树

738.单调递增的数字 class Solution: def monotoneIncreasingDigits(self, n: int) -> int: # 主要思路当前数字比前面数字小时。前面数字 -1,当前数字变2为 9 str_n = str(n) for i in range(len(s ......
训练营 随想 代码 数字 Python

代码随想训练营第三十六天(Python)| 435. 无重叠区间、763.划分字母区间、56. 合并区间

435. 无重叠区间 class Solution: def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int: intervals.sort(key=lambda x: x[0]) count = 0 for i in r ......
区间 训练营 随想 字母 代码
共2000篇  :6/67页 首页上一页6下一页尾页