![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码随想录
文章平均质量分 69
python代码随想录笔记
UNCLE-TOU?
这个作者很懒,什么都没留下…
展开
-
代码随想录算法训练营第二天(py) | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。原创 2024-05-09 22:25:22 · 559 阅读 · 0 评论 -
代码随想录算法训练营第一天(py) | 704. 二分查找、27. 移除元素
数组是存放在上的相同类型数据集合。数组元素不能删除只能覆盖。原创 2024-05-08 22:06:04 · 1635 阅读 · 0 评论 -
代码随想录算法训练营第四天(py) | 24. 两两交换、 19.删除倒数第N个节点、链表相交、142.环形链表II
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。原创 2024-05-11 11:02:33 · 275 阅读 · 1 评论 -
代码随想录算法训练营第三天(py) | 203.移除链表元素、203.设计链表、206. 翻转链表
删除B结点:让A结点指向C结点插入B结点:让A结点指向B结点,让B结点指向C结点。原创 2024-05-10 19:31:12 · 622 阅读 · 0 评论 -
代码随想录算法训练营第27天(py)| 回溯 | 39. 组合总和、40.组合总和II、131.分割回文串
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。原创 2024-06-03 20:10:49 · 415 阅读 · 0 评论 -
代码随想录算法训练营第六天(py)| 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
力扣链接给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:0 <= i, j, k, l < nnums1[i] + nums2[j] + nums3[k] + nums4[l] == 0和两数之和的思路差不多383.赎金信(easy)力扣链接给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 tru原创 2024-05-14 21:26:03 · 599 阅读 · 3 评论 -
代码随想录算法训练营第七天(py)| 541. 反转字符串II、卡码网:54.替换数字、151.翻转字符串里的单词、卡码网:55.右旋转字符串
通过切片,我们可以轻松地获取序列中的一部分元素,对其进行操作或重新排列。常见切片用法有:获取一部分元素逆序输出。原创 2024-05-15 21:30:00 · 461 阅读 · 1 评论 -
代码随想录算法训练营第21天(py)| 二叉树 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. *二叉树的最近公共祖先
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。原创 2024-05-28 20:32:46 · 228 阅读 · 0 评论 -
代码随想录算法训练营第十八天(py)| 二叉树 | 513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树
给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。原创 2024-05-25 14:56:03 · 897 阅读 · 0 评论 -
代码随想录算法训练营第20天(py)| 二叉树 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树的根节点。原创 2024-05-27 17:15:52 · 283 阅读 · 0 评论 -
代码随想录算法训练营第25天(py)| 回溯 | 216.组合总和III、17.电话号码的字母组合
找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:只使用数字1到9每个数字 最多使用一次返回 所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。原创 2024-06-03 16:35:52 · 353 阅读 · 0 评论 -
代码随想录算法训练营第22天(py)| 二叉树 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L)原创 2024-05-29 22:21:02 · 681 阅读 · 0 评论 -
代码随想录算法训练营第十六天(py)| 二叉树 | 104.二叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数
给定一个二叉树 root ,返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。原创 2024-05-23 15:18:57 · 407 阅读 · 0 评论 -
代码随想录算法训练营第十四天(py)| 二叉树 | 递归遍历、迭代遍历、统一迭代
只有度为0和2的节点,且度为0的节点在同一层。深度为k,有2^k-1个节点。原创 2024-05-21 22:04:50 · 359 阅读 · 0 评论 -
代码随想录算法训练营第五天(py)|哈希表| 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数
哈希表是根据关键码的值直接进行访问的数据结构。包括数组、集合、映射。当我们要使用集合来解决哈希问题的时候,,因为它的查询和增删效率是最优的,如果需要集合是有序的,那么就用set,如果要求不仅有序还要有重复数据的话,那么就用multiset。原创 2024-05-13 20:58:35 · 432 阅读 · 0 评论 -
代码随想录算法训练营第29天(py)| 回溯 | 491.递增子序列、46.全排列、47.全排列 II
给你一个整数数组 nums ,找出并返回所有该数组中不同的非递减子序列,至少有两个元素。你可以按 任意顺序 返回答案。原创 2024-06-06 10:14:40 · 307 阅读 · 0 评论 -
代码随想录算法训练营第十天(py)|栈与队列| 232.用栈实现队列、225. 用队列实现栈
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true;否则,返回 false。原创 2024-05-17 20:44:01 · 247 阅读 · 0 评论 -
代码随想录算法训练营第23天(py)| 回溯 | 理论基础、77. 组合
回溯是递归的副产品,只要有递归就会有回溯。回溯法解决的问题。回溯法,一般可以解决如下几种问题:组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式棋盘问题:N皇后,解数独等等回溯法一般是在集合中递归搜索,集合的大小构成了树的宽度,递归的深度构成的树的深度。原创 2024-05-30 21:28:44 · 276 阅读 · 0 评论 -
代码随想录算法训练营第十一天(py)| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。原创 2024-05-18 10:23:14 · 326 阅读 · 0 评论 -
代码随想录算法训练营第28天(py)| 回溯 | 93.复原IP地址、78.子集、90.子集II
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的IP地址不能含有前导0,共有4个字段,且每个字段不能超过255。原创 2024-06-04 20:02:48 · 287 阅读 · 0 评论 -
代码随想录算法训练营第24天(补充)(py)| 二叉树 | 235. 二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。原创 2024-05-31 16:30:53 · 296 阅读 · 0 评论 -
代码随想录算法训练营第十五天(py)| 二叉树 | 层序遍历、226.翻转二叉树、101. 对称二叉树
队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。首先需明确,层序遍历的结果是一个数组数组,每一个元素为每一层的数组,形如创建一个levels保存所有层的结果,levels[level]保存每一层的结果。原创 2024-05-22 21:42:12 · 173 阅读 · 0 评论 -
代码随想录算法训练营第十三天(py)| 239. 滑动窗口最大值、347.前 K 个高频元素
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值。原创 2024-05-20 21:18:29 · 354 阅读 · 0 评论 -
代码随想录算法训练营第十七天(py)| 二叉树 | 110.平衡二叉树、 257. 二叉树的所有路径、404.左叶子之和
给定一个二叉树,判断它是否是 平衡二叉树(所有节点的左右子树深度不会超过1)原创 2024-05-24 16:55:12 · 221 阅读 · 0 评论 -
代码随想录算法训练营第44天(py)| 动态规划 | 322. 零钱兑换、279.完全平方数、139.单词拆分
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。原创 2024-06-20 10:56:09 · 496 阅读 · 0 评论 -
代码随想录算法训练营第39天(py)| 动态规划 | 62.不同路径、 63. 不同路径 II
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?原创 2024-06-15 11:22:28 · 388 阅读 · 0 评论 -
代码随想录算法训练营第35天(py)| 贪心 | 1005.K次取反后最大化的数组和、134. 加油站、135. 分发糖果
给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:选择某个下标 i 并将 nums[i] 替换为 -nums[i]。重复这个过程恰好 k 次。可以多次选择同一个下标 i。以这种方式修改数组后,返回数组 可能的最大和。原创 2024-06-11 22:34:18 · 344 阅读 · 0 评论 -
代码随想录算法训练营第48天(py)| 动态规划 | 188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费
最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。原创 2024-06-24 10:53:08 · 411 阅读 · 0 评论 -
代码随想录算法训练营第53天(py)| 单调栈 | 739. 每日温度、496.下一个更大元素 I、503.下一个更大元素II
给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。原创 2024-06-29 11:52:16 · 285 阅读 · 0 评论 -
代码随想录算法训练营第50天(py)| 动态规划 | 1143.最长公共子序列、1035.不相交的线、53. 最大子序和、392.判断子序列
给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列(未必连续) 的长度。如果不存在 公共子序列 ,返回 0。原创 2024-06-26 17:29:36 · 499 阅读 · 0 评论 -
代码随想录算法训练营第43天(py)| 动态规划 | 完全背包、518. 零钱兑换 II、377. 组合总和 Ⅳ、爬楼梯
完全背包和01背包问题唯一不同的地方就是,。有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。01背包内嵌的循环是从大到小遍历,为了保证每个物品仅被添加一次。在01背包中,遍历物品在外层,遍历容量在内层;而在完全背包中,两个for遍历的先后顺序不影响.原创 2024-06-19 17:01:09 · 1004 阅读 · 0 评论 -
代码随想录算法训练营第46天(py)| 动态规划 | 121. 买卖股票的最佳时机 I、II、III
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。原创 2024-06-23 11:12:58 · 957 阅读 · 0 评论 -
代码随想录算法训练营第31天(py)| 贪心 | 455.分发饼干、376. 摆动序列、53. 最大子序和
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。原创 2024-06-07 22:22:17 · 525 阅读 · 0 评论 -
代码随想录算法训练营第49天(py)| 动态规划 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列中的元素不要求在原数组中连续。原创 2024-06-25 16:33:31 · 317 阅读 · 0 评论 -
代码随想录算法训练营第38天(py)| 动态规划 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
如果某一问题有很多重叠子问题,使用动态规划是最有效的。要用一个dp数组来保存递归的结果。原创 2024-06-14 16:58:49 · 388 阅读 · 0 评论 -
代码随想录算法训练营第45天(py)| 动态规划 | 198.打家劫舍、213.打家劫舍II、337.打家劫舍III
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金。如果,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组nums,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。原创 2024-06-21 16:42:05 · 506 阅读 · 0 评论 -
代码随想录算法训练营第37天(py)| 贪心 | 56. 合并区间、 738.单调递增的数字
给出一个区间的集合,请合并所有重叠的区间。原创 2024-06-13 20:55:37 · 208 阅读 · 0 评论 -
代码随想录算法训练营第52天(py)| 动态规划 | 647. 回文子串、516.最长回文子序列
给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。原创 2024-06-28 11:12:02 · 510 阅读 · 0 评论 -
代码随想录算法训练营第51天(py)| 动态规划 | 115.不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数。原创 2024-06-28 10:38:16 · 327 阅读 · 0 评论 -
代码随想录算法训练营第36天(py)| 贪心 | 452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间
有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] = [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。一支弓箭可以沿着 x 轴从不同点 完全垂直 地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被 引爆。可以射出的弓箭的数量 没有限制。原创 2024-06-12 22:21:27 · 397 阅读 · 0 评论