198.打家劫舍 题目链接:https://leetcode.cn/problems/house-robber/文章讲解:https://programmercarl.com/0198.打家劫舍.html题目难度:中等视频讲解:https://www.bilibili.com/video/BV1Te411N7SX题目状态:有点思路但不全。 思路: 这次的dp[i]数组表示在到第i个房间中时最多的偷盗金额,而到第i个房间的时候,我们有两个策略,①偷这一家;②不偷这一家。 ①偷这一家,那么我们就不能偷前一家了(i-1),因此此时的金额数量为dp[i2]+nums[i];②不偷这一家,那么我们就...

  3HyMPPhAWYCC   2024年08月10日   26   0   0 算法与数据结构

322.零钱兑换 题目链接:https://leetcode.cn/problems/coin-change/文章讲解:https://programmercarl.com/0322.零钱兑换.html题目难度:中等视频讲解:https://www.bilibili.com/video/BV14K411R7yv/题目状态:略微有点思路,但还是有点转不过来。 思路: 这次是找最小的钱币组合,因此在进行dp数组初始化的时候需要将其初始化为最大值(INT_MAX)。接着就是和之前的背包问题套路一样,但是要注意的是: 如果求组合数就是外层for循环遍历物品,内层for循环遍历背包。 如果求排列数...

  3HyMPPhAWYCC   2024年08月09日   25   0   0 算法与数据结构

52.携带研究材料 题目链接:https://kamacoder.com/problempage.php?pid=1052文章讲解:https://programmercarl.com/背包问题理论基础完全背包.html视频讲解:https://www.bilibili.com/video/BV1uK411o7c9/题目状态:看题解过 思路: 在0-1背包问题中,每个物品只能选择一次,即每个物品要么被完全放入背包,要么完全不放入。内循环从大到小遍历的原因主要是为了贪心选择,即每次选择当前价值最大的物品。这样做的目的是为了在有限的背包容量下尽可能多地装入价值高的物品。如果背包容量不足以放入当...

  3HyMPPhAWYCC   2024年08月08日   33   0   0 算法与数据结构

1049.最后一块石头的重量II 题目链接:https://leetcode.cn/problems/last-stone-weight-ii/题目难度:中等文章讲解:https://programmercarl.com/1049.最后一块石头的重量II.html视频讲解:https://www.bilibili.com/video/BV14M411C7oV/题目状态:看题解过 思路: 本题本质上就是将石头分为两堆进行撞击,判断剩余最小的重量是多少。这样理解的话就将题转换为了416.分割等和子集问题了。首先定义dp数组的含义,dp[j]表示选择重量为j的情况下,这堆石头的剩余重量。而dp[...

  3HyMPPhAWYCC   2024年08月07日   38   0   0 算法与数据结构

62.不同路径 题目链接:https://leetcode.cn/problems/unique-paths/题目难度:中等文章讲解:https://programmercarl.com/0062.不同路径.html视频讲解:https://www.bilibili.com/video/BV1ve4y1x7Eu/题目状态:还是想不出dp数组,看题解了 思路: 首先构建一个dp数组,这次是一个二维数组,dp[i][j]表示从(0,0)到(i,j)的路径个数。很容易想到:dp[1][j]的个数是由dp[i1][j]+dp[i][j1]得来的,且在路径边缘只需要一条路径就能到达,因此整体路径的个...

  3HyMPPhAWYCC   2024年08月07日   80   0   0 算法与数据结构

46.携带研究材料(0-1背包问题) 题目链接:https://kamacoder.com/problempage.php?pid=1046文章讲解:https://programmercarl.com/背包理论基础01背包-1.html视频讲解:https://www.bilibili.com/video/BV1cg411g7Y6/题目状态:看题解过 思路: 创建一个二维的dp数组,用来进行动态规划,其中dp[i][j]表示在背包大小为j、物品为i的情况下,最多能装入多大价值的东西。首先当j=0时,也就是背包容量为0时,价值肯定是0,因此dp[i][0]肯定都是0。关键是如何动态规划: ...

  3HyMPPhAWYCC   2024年08月07日   35   0   0 算法与数据结构

1.两数之和 题目链接:https://leetcode.cn/problems/two-sum/description/?envType=study-plan-v2&envId=top-100-liked解题状态:通过标签:数组、哈希表 思路: 通过创建一个哈希表来保存数组中的元素,每当遍历一个元素时,若哈希表中不存在另一个与之相加为目标值的元素,就将元素插入到哈希表中。 代码: classSolution{ public: vector<int>twoSum(vector<int>&nums,inttarget){ unordered_map&l...

  3HyMPPhAWYCC   2024年08月07日   74   0   0 算法与数据结构

509.斐波那契数 题目链接:https://leetcode.cn/problems/fibonacci-number/题目难度:简单文章讲解:https://programmercarl.com/0509.斐波那契数.html视频讲解:https://www.bilibili.com/video/BV1f5411K7mo题目状态:过! 思路: 当n=0时,返回0; 当n=1时,返回1; 当n>=2时,返回fib(n1)+fub(n2)。 代码: classSolution{ public: intfib(intn){ if(n0)return0; if(n1)return1;...

  3HyMPPhAWYCC   2024年08月07日   27   0   0 算法与数据结构

134.加油站 题目链接:https://leetcode.cn/problems/gas-station/题目难度:中等文章讲解:https://programmercarl.com/0134.加油站.html视频讲解:https://www.bilibili.com/video/BV1jA411r7WX题目状态:没有思路,学习题解 思路一:全局最优解 首先将所有路径的加油量和耗油量加一起,看是否大于0,若小于0,表示整体的加油量小于耗油量,不可能跑完全程,直接返回-1;若大于0,看其到每一站存储的油量最小值是否大于等于0,若是,则表示其在每一站都是可以跑完的,直接返回0(表示从0开始出...

  3HyMPPhAWYCC   2024年08月07日   50   0   0 算法与数据结构

452.用最少数量的箭引爆气球 题目链接:https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons/题目难度:中等文章讲解:https://programmercarl.com/0452.用最少数量的箭引爆气球.html视频讲解:https://www.bilibili.com/video/BV1SA41167xe题目状态:有点思路,但是没通过,靠ChatGPT通过 思路: 首先看一下题目的大致意思,如下图: 首先要通过气球的终点来进行排序,然后初始化箭的个数为1,因为至少会有一支箭,之后判断下一个气球...

  3HyMPPhAWYCC   2024年08月07日   40   0   0 算法与数据结构

56.合并区间 题目链接:https://leetcode.cn/problems/merge-intervals/题目难度:中等文章讲解:https://programmercarl.com/0056.合并区间.html视频讲解:https://www.bilibili.com/video/BV1wx4y157nD题目状态:有思路,嘻嘻🤣 思路: 首先,按照每个区间开头的前后顺序进行排列,然后定义一个vector<int>类型的变量来保存我们合并的区间,循环遍历每个区间,判断当前合并的区间结尾是否大于等于下一个区间的开头。若大于,表示可以将该区间合并起来,否则,表明下面的区...

  3HyMPPhAWYCC   2024年08月07日   48   0   0 算法与数据结构

122.买卖股票的最佳时机II 题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/题目难度:中等文章讲解:https://programmercarl.com/0122.买卖股票的最佳时机II.html视频讲解:https://www.bilibili.com/video/BV1ev4y1C7na题目状态:贪心有点像脑筋急转弯,靠想,没技巧 思路: 将问题化简为下图: 代码: classSolution{ public: intmaxProfit(vector<int>&price...

  3HyMPPhAWYCC   2024年08月07日   39   0   0 算法与数据结构

455.分发饼干 题目链接:https://leetcode.cn/problems/assign-cookies/题目难度:简单文章讲解:https://programmercarl.com/0455.分发饼干.html视频讲解:https://www.bilibili.com/video/BV1MM411b7cq题目状态:初次有贪心算法的总体概念,有点懵 思路: 先将饼干尺寸大的满足胃口大的小孩,直到遍历完。 代码: classSolution{ public: intfindContentChildren(vector<int>&g,vector<int&...

  3HyMPPhAWYCC   2024年08月07日   73   0   0 算法与数据结构

491.非递减子序列 题目链接:https://leetcode.cn/problems/non-decreasing-subsequences/题目难度:中等文章讲解:https://programmercarl.com/0491.递增子序列.html视频讲解:https://www.bilibili.com/video/BV1EG4y1h78v/题目状态:有思路,借助ChatGPT通过 思路: 在之前代码的基础上,添加一个set<vector<int>>类型的全局变量,用来跟踪已添加的子序列,来避免重复子序列的存储。 代码: classSolution{ pub...

  3HyMPPhAWYCC   2024年08月07日   49   0   0 算法与数据结构

203.移除链表元素 题目链接:https://leetcode.cn/problems/remove-linked-list-elements/题目难度:简单文章讲解:https://programmercarl.com/0203.移除链表元素.html视频讲解:https://www.bilibili.com/video/BV18B4y1s7R9题目状态:通过 个人思路: 从链表头部开始依次往下遍历,当遇到和val值相等的元素就将其移除(walk->next=walk->next->next),最后返回修改后的链表。 遇到的问题: 直接将遍历指针walk初始化在了链...

  3HyMPPhAWYCC   2024年08月07日   46   0   0 算法与数据结构

24.两两交换链表中的节点 题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/题目难度:中等文章讲解:https://programmercarl.com/0024.两两交换链表中的节点.html视频讲解:https://www.bilibili.com/video/BV1YT411g7br题目状态:有思路,但细节缺乏考虑 个人思路: 首先判断head和其下一节点是否是nullptr,若是,就直接返回head; 创建两个指针first和second,再创建一个辅助指针tmp用于保存second的下一节点; 在循环中利用tmp指针,...

  3HyMPPhAWYCC   2024年08月07日   60   0   0 算法与数据结构

704.二分查找 题目链接:https://leetcode.cn/problems/binary-search/题目难度:简单文章讲解:https://programmercarl.com/0704.二分查找.html视频讲解:https://www.bilibili.com/video/BV1fA4y1o715题目状态:通过 个人思路: 就是简单的二分查找思路,判断数组中间的值是否等于目标值,不等于就更新范围。 具体代码: classSolution{ public: intsearch(vector<int>&nums,inttarget){ intlow=0,h...

  3HyMPPhAWYCC   2024年08月07日   27   0   0 算法与数据结构

242.有效的字母异位词 题目链接:https://leetcode.cn/problems/valid-anagram/题目难度:简单文章讲解:https://programmercarl.com/0242.有效的字母异位词.html视频讲解:https://www.bilibili.com/video/BV1YG411p7BA题目状态:一次过,哈哈哈 个人思路: 之前在《剑指offer》中做过这个题目,思路就是直接创建两个26位的数组,分别存放两个字符串中出现的小写字母的个数,若最后这两个数组相等,则表示这两个字符串互为字母异位词。 实现代码: classSolution{ publi...

  3HyMPPhAWYCC   2024年08月07日   35   0   0 算法与数据结构

454.四数相加II 题目链接:https://leetcode.cn/problems/4sum-ii/题目难度:中等文章讲解:https://programmercarl.com/0454.四数相加II.html视频讲解:https://www.bilibili.com/video/BV1Md4y1Q7Yh题目状态:没思路 思路: 创建一个unordered_map<int,int>类型的哈希表用来存储前两个数组中的元素相加之和,键为和,值为次数; 创建一个int类型的变量count,用来存储四个数组中元素之和等于0的次数; 遍历后两个数组之和,若哈希表中存在一个元素和这...

  3HyMPPhAWYCC   2024年08月07日   53   0   0 算法与数据结构

344.反转字符串 题目链接:https://leetcode.cn/problems/reverse-string/题目难度:简单文章讲解:https://programmercarl.com/0344.反转字符串.html视频讲解:https://www.bilibili.com/video/BV1fV4y17748题目状态:过! 个人思路: 就是使用双指针,在right>left的前提下将字符串遍历,并把right和left的值相互交换。 实现代码: classSolution{ public: voidreverseString(vector<char>&...

  3HyMPPhAWYCC   2024年08月07日   41   0   0 算法与数据结构
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~