自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 代码随想录算法训练营第三十四天|LeetCode860 柠檬水找零、LeetCode406 根据身高重建队列、LeetCode452 用最少数量的箭引爆气球

【代码】代码随想录算法训练营第三十四天|LeetCode860 柠檬水找零、LeetCode406 根据身高重建队列、LeetCode452 用最少数量的箭引爆气球。

2024-03-14 23:19:54 377

原创 代码随想录算法训练营第三十三天|LeetCode1005 K次取反后最大化的数组和 、LeetCode134 加油站、LeetCode135 分发糖果

【代码】代码随想录算法训练营第三十三天|LeetCode1005 K次取反后最大化的数组和 、LeetCode134 加油站、LeetCode135 分发糖果。

2024-03-14 23:16:47 339

原创 代码随想录算法训练营第三十二天|LeetCode122 买卖股票的最佳时机II 、LeetCode55 跳跃游戏、

为了获得最大利润,我们可以将每一个局部峰值和局部谷值之间的差值累加起来。如果第 i 天的股票价格比第 i-1 天高,则将这两天的股票进行买卖,即累加差值 (prices[i] - prices[i-1]),否则不进行交易。

2024-03-13 21:59:01 369

原创 代码随想录算法训练营第三十一天|LeetCode455 分发饼干、LeetCode376 摆动序列、LeetCode53 最大子序列和

使用贪心策略,从胃口向量的最后一个元素开始遍历。对于每个孩子,尝试用当前index指向的饼干满足其胃口。如果可以满足,则result加一,同时将index减一表示使用了该饼干。这个过程在循环中进行,直到遍历完所有孩子的胃口或者饼干数组用尽。

2024-03-13 21:54:37 360

原创 代码随想录算法训练营Day30 ||回溯算法总结

【代码】代码随想录算法训练营Day30 ||回溯算法总结。

2024-03-04 00:40:41 399 1

原创 代码随想录算法训练营Day29 || leetCode 491.递增子序列 || 46.全排列 || 47.全排列 II

给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。给定一个 没有重复 数字的序列,返回其所有可能的全排列。

2024-03-03 23:44:43 360 1

原创 代码随想录算法训练营Day27 || leetCode 93.复原IP地址 || 78.子集 || 90.子集II

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。例如:"0.1.2.201" 和 "192.168.1.1" 是 有效的 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效的 IP 地址。

2024-02-28 01:06:43 386

原创 代码随想录算法训练营Day26 || leetCode 39. 组合总和 || 40.组合总和II || 131.分割回文串

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。结合前面几道组合的题目,这道题还是很好理解的,注意好结束条件和元素和重复选择的条件即可。看似和前面的题相差不多,其实要注重的细节很多,参考代码随想录的思路来解题就比较清晰。说明: 所有数字(包括目标数)都是正整数。

2024-02-26 23:36:20 385

原创 代码随想录算法训练营Day25 || leetCode 216.组合总和III || 17.电话号码的字母组合

例如 k = 2,n = 4的话,就是在集合[1,2,3,4,5,6,7,8,9]中求 k(个数) = 2, n(和) = 4的组合。找出所有相加之和为 n 的 k 个数的组合。示例 2: 输入: k = 3, n = 9 输出: [[1,2,6], [1,3,5], [2,3,4]]示例 1: 输入: k = 3, n = 7 输出: [[1,2,4]]说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。

2024-02-26 00:14:21 402

原创 代码随想录算法训练营Day24 || leetCode 77 组合数

第一次取1,集合变为2,3,4 ,因为k为2,我们只需要再取一个数就可以了,分别取2,3,4,得到集合[1,2] [1,3] [1,4],以此类推。示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ]可以看出这棵树,一开始集合是 1,2,3,4, 从左向右取数,取过的数,不再重复取。相当于只需要把达到叶子节点的结果收集起来,就可以求得 n个数中k个数的组合集合。

2024-02-24 18:27:07 422

原创 代码随想录算法训练营第十八天|LeetCode题目

给定一个二叉树,在树的最后一行找到最左边的值。示例 1:思路:使用广度优先搜索(BFS)遍历二叉树的每一层节点,然后返回每一层的第一个节点的值。

2024-02-16 21:01:38 364 1

原创 代码随想录算法训练营第十七天|LeetCode题目

今天的题目不算特别难,思路还是很好理解的,但是自身的编写代码的能力有所欠缺,还是要借助一些工具才能将代码完善,要继续巩固基础,找找感觉。使用深度优先搜索(DFS)来遍历二叉树,同时记录从根节点到当前节点的路径。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。通过递归地检查每个节点的左右子树的高度差是否不超过1,并且递归地检查每个子树也是高度平衡的。给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。

2024-02-15 02:18:55 358 1

原创 代码随想录算法训练营第十四天 | LeeCode 144. 二叉树的前序遍历,94. 二叉树的中序遍历,145. 二叉树的后序遍历

小结:总体思路可以理解,但编码能力有待提高,照葫芦画瓢,继续学习。

2024-02-07 01:12:55 351 1

原创 代码随想录算法训练营第十三天 | LeeCode 239. 滑动窗口最大值,347.前 K 个高频元素

如果堆的元素个数等于 kkk,则检查堆顶与当前出现次数的大小。如果堆顶更大,说明至少有 kkk 个数字的出现次数比当前值大,故舍弃当前值;这两道题对于自身而言还是很有难度的,没有什么思路,看了解析之后才有所收获,队列的知识,操作及运用,以及单调队列,优先队列的运用等等,还需要不断巩固。给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。遍历完成后,堆中的元素就代表了「出现次数数组」中前 kkk 大的值。给定一个非空的整数数组,返回其中出现频率前 k 高的元素。

2024-02-06 01:21:15 368 1

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

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

2024-02-04 15:08:17 342 1

原创 代码随想录算法训练营第十天 | 栈与堆列理论基础、LeetCode232.用栈实现队列、LeetCode225. 用队列实现栈

用栈来模拟队列时,我们需要两个栈:一个用来存放元素(我们称之为主栈),另一个用来辅助操作(我们称之为辅助栈)。利用两个队列来模拟栈的操作,其中一个队列用来存储栈的元素,另一个用作辅助操作。我想栈和队列的原理大家应该很熟悉了,队列是先进先出,栈是先进后出。push(x) -- 将一个元素放入队列的尾部。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。pop() -- 从队列首部移除元素。

2024-02-03 15:55:32 316 1

原创 代码随想录算法训练营第九天 | 28. 实现 strStr() 459.重复的子字符串

题目链接实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2示例 2: 输入: haystack = "aaaaa", needle = "bba" 输出: -1说明: 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对

2024-02-02 11:32:12 325

原创 代码随想录算法训练营第八天 | LeeCode 344. 反转字符串, 541. 反转字符串II,卡码网:54.替换数字 ,151.翻转字符串里的单词 ,卡码网:55.右旋转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]

2024-02-01 18:10:25 950 1

原创 代码随想录训练营第七天 | LeetCode 454.四数相加II、LeetCode 383. 赎金信、LeetCode 15. 三数之和、LeetCode 18. 四数之和

满足要求的四元组集合为: [ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2] ]又跟着刷完了哈希表的题目,自我感觉很多思路是可以理解的,但是因为之前刚接触不多,只能说算是边学基础边刷题,感觉还是挺有难度的,看到大段大段的代码,边写着边改错,只能说,继续多花点时间,多加把劲。给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。在每次循环中,我们计算。

2024-01-31 15:35:11 845

原创 代码随想录算法训练营第六天| LeetCode242 有效的字母异位词、LeetCode349 两个数组的交集、LeetCode202 快乐数 、LeetCode1 两数之和

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1: 输入: s = "anagram", t = "nagaram" 输出: true示例 2: 输入: s = "rat", t = "car" 输出: false你可以假设字符串只包含小写字母。思路:我们可以使用一个哈希表来统计字符串 s 中每个字母的出现次数,然后再遍历字符串 t,对于每个字符,将其在哈希表中的计数减去 1。如果最终哈希表中所有字母的计数都为 0,说明字符串 t 是字符串 s 的字母异位词。

2024-01-30 13:23:12 350 1

原创 代码随想录算法训练营Day4 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 160. 链表相交 142.环形链表II

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。思路:运用虚拟头结点,同时定义两个指针,通过不断迭代,分别使得指针移动来实现。

2024-01-28 14:19:46 817 1

原创 代码随想录算法训练营第三天| LeetCode203 移除链表元素、LeetCode707 设计链表、LeetCode206 反转链表

好的,第一眼看到题目,觉得能下手做个大概,后面发现并没有想的那么轻而易举,对于我这种基础不太好的人来说简直是噩梦,对着参考代码和视频来看还是可以学习到知识的,还得继续看看,争取可以通过自己的思路还敲出代码。一开始做题的时候,直接上手敲代码,因为没有处理好头结点的和后面的节点的问题,导致屡屡运行失败,后面参考了解释,便学会用设置一个虚拟头结点的方法来做,果然,还是有一些细节得注意的。示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]

2024-01-27 12:45:26 433

原创 代码随想录算法训练营Day2 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

相比于第一天,自我感觉今天的题目增加了不少难度,做起来慢慢有些找不到思路了。看来往后得巩固下基础,多看看题目,多加思考。给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。相比于前两道题,这道题我难以下手,自己尝试好一会都没有写出个所以然来,于是便赶紧参考资料。看完代码,还是有了一些思路的,但还要仔细斟酌,理解其中的过程。

2024-01-25 22:51:41 380

原创 代码随想录算法训练营第一天|数组理论基础、LeetCode704 二分查找、27移除元素

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。这样做会使数组调整,每次移除一个元素后,后续元素需要向前移动,同时修改数组的长度。刚看到这道题时,觉得很有思路,便下手去写,写的过程中发现,还是有几个值得注意的点,例如边界问题。左闭右闭:[left, right]

2024-01-24 17:47:23 302

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除