算法题练习
white_0629
努力学习中
展开
-
代码随想录刷题总结
刚开始的时候,每道题目都需要我反复推敲,思考解决问题的方法,有时候一道题目可能就需要花费数个小时,甚至根本不会做。但是,随着不断的学习和练习,我开始更加熟悉算法的思维模式,能够更快地找到问题的解决方法。然而,我意识到,为了在机试中脱颖而出,我必须扩宽自己的知识面,提高算法题的解题能力。一次偶然的机会,我看到了代码随想录训练营的报名链接,并毅然决然加入了训练营,从而提高自己的算法能力,来为梦校的机试做准备。结束,也是新的开始,在以后的学习中,我也会继续算法题的练习,永不停歇自己的脚步。原创 2023-10-10 23:52:44 · 279 阅读 · 0 评论 -
代码随想录Day62 | 503. 下一个更大元素 II | 42. 接雨水
i原创 2023-10-08 21:45:22 · 310 阅读 · 0 评论 -
代码随想录Day61 | 739. 每日温度 | 496. 下一个更大元素
【代码】代码随想录Day60 | 739. 每日温度 | 496. 下一个更大元素。原创 2023-10-08 20:41:51 · 202 阅读 · 0 评论 -
代码随想录Day59 | 647. 回文子串 | 516. 最长回文子序列
【代码】代码随想录Day59 | 647. 回文子串 | 516. 最长回文子序列。原创 2023-10-06 22:22:07 · 163 阅读 · 0 评论 -
代码随想录Day57、58 | 392.判断子序列 | 115. 不同的子序列 | 583. 两个字符串的删除操作 | 72. 编辑距离
【代码】代码随想录Day57、58 | 392.判断子序列 | 115. 不同的子序列 | 583. 两个字符串的删除操作 | 72. 编辑距离。原创 2023-10-05 22:58:57 · 477 阅读 · 0 评论 -
代码随想录Day56 | 1143. 最长公共子序列 | 1035. 不相交的线 | 53. 最大子数组和
【代码】代码随想录Day56 | 1143. 最长公共子序列 | 1035. 不相交的线 | 53. 最大子数组和。原创 2023-10-03 22:22:03 · 311 阅读 · 0 评论 -
代码随想录Day55 | 300. 最长递增子序列 | 674. 最长连续递增序列 | 718. 最长重复子数组
【代码】代码随想录Day52 | 300. 最长递增子序列 | 674. 最长连续递增序列 | 718. 最长重复子数组。原创 2023-10-02 20:05:42 · 282 阅读 · 0 评论 -
代码随想录Day51 | 309.最佳买卖股票时机含冷冻期 | 714. 买卖股票的最佳时机含手续费
【代码】代码随想录Day51 | 309.最佳买卖股票时机含冷冻期。原创 2023-09-28 12:50:25 · 198 阅读 · 0 评论 -
代码随想录Day49、50 | 121.买卖股票的最佳时机 | 122. 买卖股票的最佳时机 II | 123. 买卖股票的最佳时机 III | 188. 买卖股票的最佳时机 IV
【代码】代码随想录Day49、50 | 121.买卖股票的最佳时机 | 122. 买卖股票的最佳时机 II | 123. 买卖股票的最佳时机 III | 188. 买卖股票的最佳时机 IV。原创 2023-09-27 21:42:21 · 78 阅读 · 0 评论 -
代码随想录 Day 48| 198. 打家劫舍 | 213. 打家劫舍 II | 337. 打家劫舍 III
【代码】代码随想录 Day 48| 198. 打家劫舍 |原创 2023-09-26 00:19:57 · 279 阅读 · 1 评论 -
代码随想录Day46 | 139.单词拆分 | 4. 多重背包问题 I
接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。第 i种物品最多有 si 件,每件体积是 vi,价值是 wi。有 N 种物品和一个容量是 V的背包。输出一个整数,表示最大价值。原创 2023-09-25 23:50:50 · 427 阅读 · 0 评论 -
代码随想录Day45 | 70. 爬楼梯 (进阶)| 322. 零钱兑换 | 279.完全平方数
【代码】代码随想录Day45 | 70. 爬楼梯 (进阶)| 322. 零钱兑换 | 279.完全平方数。原创 2023-09-25 19:20:32 · 228 阅读 · 0 评论 -
代码随想录Day44 | 完全背包
有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。原创 2023-09-25 02:07:59 · 369 阅读 · 0 评论 -
代码随想录Day43 | 1049.最后一块石头的重量II | 494. 目标和 | 474. 一和零
【代码】代码随想录Day43 | 1049.最后一块石头的重量II | 494. 目标和 | 474. 一和零。原创 2023-09-25 01:26:36 · 199 阅读 · 0 评论 -
代码随想录Day42 | 01背包问题| 416. 分割等和子集
接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。我编写的是通用的模板,如果每件物品限定了使用次数的时候,修改k的限制即可。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。第一行两个整数,N,V,,用空格隔开,分别表示物品数量和背包容积。有 N 件物品和一个容量是 V的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。输出一个整数,表示最大价值。原创 2023-09-24 22:50:57 · 119 阅读 · 0 评论 -
代码随想录Day41| 343. 整数拆分 | 96. 不同的二叉搜索树
【代码】代码随想录Day41| 343. 整数拆分 | 96. 不同的二叉搜索树。原创 2023-09-18 21:46:36 · 325 阅读 · 0 评论 -
代码随想录Day39 | 62. 不同路径 | 63. 不同路径 II
【代码】代码随想录Day39 | 62. 不同路径 | 63. 不同路径 II。原创 2023-09-17 12:00:18 · 96 阅读 · 0 评论 -
代码随想录Day38 | 509. 斐波那契数 | 70. 爬楼梯 | 746. 使用最小花费爬楼梯
该题类似于斐波那契数,只是考虑了一下实际意义,即f[0] 没有意义。f[i]:登上下标为i的台阶所需要的花费。原创 2023-09-17 11:29:47 · 157 阅读 · 0 评论 -
代码随想录Day36 | 435. 无重叠区间 | 763. 划分字母区间 | 56. 合并区间
【代码】代码随想录Day36 | 435. 无重叠区间 | 763. 划分字母区间 | 56. 合并区间。原创 2023-09-14 23:36:44 · 133 阅读 · 0 评论 -
代码随想录Day37 | 738. 单调递增的数字 | 968. 监控二叉树
【代码】代码随想录Day37 | 738. 单调递增的数字 | 968. 监控二叉树。原创 2023-09-15 00:03:46 · 196 阅读 · 0 评论 -
代码随想录Day35 | 860.柠檬水找零 | 406.根据身高重建队列 | ● 452. 用最少数量的箭引爆气球
思路:求区间的交集,由于射箭不需要横向的区间,所以只需要看一个边界即可。原创 2023-09-12 23:41:07 · 122 阅读 · 0 评论 -
代码随想录Day34 | 1005.K次取反后最大化的数组和 | 134. 加油站 | 135. 分发糖果
【代码】代码随想录Day34 | 1005.K次取反后最大化的数组和 | 134. 加油站 | 135. 分发糖果。原创 2023-09-12 00:12:17 · 112 阅读 · 0 评论 -
代码随想录Day32 | 122.买卖股票的最佳时机 II | 55. 跳跃游戏| 45.跳跃游戏 II
如果第i天不持有股票即dp[i][1]的情况, 依然可以由两个状态推出来。如果第i天持有股票即dp[i][0], 那么可以由两个状态推出来。原创 2023-09-11 00:22:10 · 167 阅读 · 0 评论 -
代码随想录Day31 |455.分发饼干| 376.摆动序列|53.最大子数组和。
注意:得从后往前遍历。使用动态规划算法,思想比较直观。原创 2023-09-10 00:06:43 · 126 阅读 · 0 评论 -
代码随想录Day30 | 51.n皇后
【代码】代码随想录Day30 | 51.n皇后。原创 2023-09-09 22:09:17 · 39 阅读 · 0 评论 -
代码随想录Day29 | 递增子序列 | 全排列| 全排列||
【代码】代码随想录Day29 | 递增子序列 | 全排列| 全排列||原创 2023-09-07 23:33:49 · 54 阅读 · 0 评论 -
代码随想录Day 28| 93.复原IP地址 | 78.子集 | 90.子集II
【代码】代码随想录Day 28| 93.复原IP地址 | 78.子集 | 90.子集II。原创 2023-09-05 23:33:14 · 92 阅读 · 0 评论 -
代码随想录Day 27|39.组合总和|40.组合总和|| |131.分割回文串
思路:此题跟上一题相比多了排序和去重的过程。我们需要对数组进行排序,这样之后,数组的重复元素则会排列在一起,方便进行去重的过程。原创 2023-09-05 12:49:53 · 109 阅读 · 0 评论 -
代码随想录Day24、25
【代码】代码随想录Day24、25。原创 2023-09-01 23:48:11 · 131 阅读 · 0 评论 -
代码随想录Day23
【代码】代码随想录Day23。原创 2023-08-31 21:27:43 · 76 阅读 · 1 评论 -
代码随想录Day22
使用一种通用的删除:普通二叉树的删除方式(没有使用搜索树的特性,遍历整棵树),用交换值的操作来删除目标节点。通过二叉搜索树的性质可以通过递归很快找到结点,然后通过保存父结点的方法,来进行插入操作。不想分类讨论,太麻烦,直接用巧解了。存储父节点可以直接解决。原创 2023-08-30 23:31:18 · 94 阅读 · 1 评论 -
代码随想录Day21
使用统一的迭代法自己进行了实现。原创 2023-08-30 22:34:02 · 80 阅读 · 1 评论 -
代码随想录Day20
注释部分是剪枝操作,可以删除。我们首先对数组元素进行遍历,找到最大值和最大值下标,并创建一个树结点(根结点),将其赋值为最大值。然后我们对最大值下标左边的值和右边的值分别进行判断,若有数字,则进行处理。处理左边时,将左边的数构成一个新数组,然后对结点的左子结点进行递归操作。对右边的数进行同样的操作。操作完毕后返回根结点。原创 2023-08-28 22:01:36 · 42 阅读 · 0 评论 -
代码随想录Day18
比较经典的回溯法,使用哈希表存储每一次根结点到叶结点的路径值,然后再查询目标值是否包含在哈希表中,从而进行输出。对上一题进行了一些小改动。原创 2023-08-26 22:19:30 · 70 阅读 · 0 评论 -
代码随想录Day17
【代码】代码随想录Day17。原创 2023-08-25 20:06:57 · 191 阅读 · 1 评论 -
代码随想录day16
迭代法就是随便一种遍历方式,然后统计数目就行,这里使用更简单的递归法。比较无脑的做法:直接使用层次遍历,然后记录层数,如果发现是叶结点就直接返回。原创 2023-08-25 18:47:36 · 92 阅读 · 1 评论 -
代码随想录Day15练习
【代码】代码随想录Day15练习。原创 2023-08-23 23:53:24 · 237 阅读 · 0 评论 -
代码随想录Day14练习
【代码】代码随想录Day14练习。原创 2023-08-22 23:34:01 · 306 阅读 · 1 评论 -
代码随想录day13
通过单调双端队列实现,需要自己定义单调双端队列,构建思路是,使用STL中的双端队列,然后将数字每次从队列尾部进入队列,如果队列尾部的数小于即将进入的数字,那么就将尾部的数不停弹出,知道不满足该条件,再将数字输入,从而构成了从头部到尾部数字单调减小的单调队列,每次弹出的时候,比较要弹出的是否是该数字,如果相等则弹出。分三步:1:统计频率。3.输出前K个数字。时间复杂度:O(n)原创 2023-08-21 19:29:23 · 319 阅读 · 1 评论 -
代码随想录练习Day1|704.二分查找|27.移除元素
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。原创 2023-08-09 19:58:38 · 1684 阅读 · 0 评论