![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 68
zadarmo_
重庆大学22级研二,目前正在写论文,目标2024年5月份之前找到一份后端开发相关的实习。
展开
-
【leetcode】动态规划——序列问题总结
本文内容参考了代码随想录,并进行了自己的总结。原创 2024-02-11 20:25:43 · 553 阅读 · 0 评论 -
【leetcode】完全背包总结
本文内容参考了代码随想录,并进行了自己的总结。原创 2024-02-02 12:51:24 · 1052 阅读 · 1 评论 -
【leetcode】01背包总结(2024/2/2更新)
那最后 dp[W] 表示的就是从 N 个物品中选 1 个物品时的最大价值,这显然与 01 背包的题目含义冲突了:从 N 个物品中选若干个物品时(每个物品只选一次)的最大价值。因为每次递推用到的 dp[j-w[i]] 都是 0,因为 j 是从大到小遍历的,递推公式相当于变成了 dp[j]=Math.max(dp[j], v[i]),那不就是 N 个物品取最大值吗?对于二维的形式,两种遍历方式都可以,因为不管怎么样,dp[i][j] 都是被左上角的状态更新的,所以先更新左上角的哪一个,实际上都一样。原创 2024-01-28 13:33:49 · 908 阅读 · 0 评论 -
【leetcode】回溯总结
本文内容来自于代码随想录https://www.programmercarl.com/原创 2024-01-20 14:27:06 · 513 阅读 · 0 评论 -
【leetcode】树总结
本文内容来自于代码随想录。原创 2024-01-06 12:59:37 · 441 阅读 · 0 评论 -
【leetcode】栈与队列总结
本文内容来自于。原创 2023-12-31 14:34:34 · 488 阅读 · 0 评论 -
【leetcode】链表总结
删除节点,涉及到 2 个节点,当前节点 cur 和当前节点的前继 pre。如果删除的是头节点,就没有前继,所以需要哑节点交换节点,涉及到 3 个节点,当前节点 cur、当前节点的前继 pre、当前节点的后继 next。类似的,头节点没有前继,所以需要哑节点初始化,pre = dummy后续的操作中,只移动 pre,dummy 保持不变由于第一次 pre 和 dummy 的后继指向的是同一个,所以 pre 的后继更新了,dummy 的后继也会更新,即达到了更新头节点的目的。原创 2023-12-16 11:07:52 · 137 阅读 · 0 评论 -
leetcode 1507:转变日期格式(python字符串操作)
给你一个字符串 date ,它的格式为 Day Month Year ,其中:Day 是集合 {“1st”, “2nd”, “3rd”, “4th”, …, “30th”, “31st”} 中的一个元素。Month 是集合 {“Jan”, “Feb”, “Mar”, “Apr”, “May”, “Jun”, “Jul”, “Aug”, “Sep”, “Oct”, “Nov”, “Dec”} 中的一个元素。Year 的范围在 [1900, 2100] 之间。请你将字符串转变为 YYYY-MM-DD原创 2020-07-21 20:08:35 · 476 阅读 · 0 评论 -
判断两个相交链表的交点
如图所示:结点定义如下:typedef struct node* ListNode;struct node{ int val; ListNode next;}Solution 1:两个栈可以看到,虽然不相交的部分长度不同,不太好处理,但是相交的部分长度是相同的。只要我们倒着找到第一个两个链表结点不同的地方,它的前一个就是相交的结点。 所以我们先把两个链表分别入栈,然后同时弹出...原创 2020-02-29 20:58:19 · 202 阅读 · 0 评论 -
leetcode 172:阶乘后的零
给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。此篇文章并不是讲这个题,而是总结一下学习到的一个知识点:对于一个正整数n,求所有小于等于n的数x的因子为factor的总数tot...原创 2020-02-24 16:54:46 · 93 阅读 · 0 评论 -
leetcode:338 比特位计数(位运算+dp)
给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂度为O(n...原创 2020-02-08 20:00:26 · 131 阅读 · 0 评论 -
leetcode 72:编辑距离
给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入: word1 = “horse”, word2 = “ros”输出: 3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> rose (删除 ‘...原创 2020-02-07 16:52:40 · 101 阅读 · 0 评论 -
leetcode 583:两个字符串的删除操作
给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。示例 1:输入: “sea”, “eat”输出: 2解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea"说明:给定单词的长度不超过500。给定单词中的字符只含有小写字母。LCS+动态规划思路:先求出二者的最长上升子序列的长...原创 2020-02-07 16:15:08 · 367 阅读 · 0 评论 -
leetcode 322:零钱兑换(完全背包)
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明:你可以认为每...原创 2020-02-04 13:09:26 · 167 阅读 · 0 评论 -
leetcode 474:一和零(多维背包)
在计算机界中,我们总是追求用有限的资源获取最大的收益。现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于数组中的字符串的最大数量。每个 0 和 1 至多被使用一次。注意:给定 0 和 1 的数量都不会超过 100。给定字符串数组的长度不会超过 600。示例 1:输...原创 2020-02-04 11:39:40 · 787 阅读 · 1 评论 -
leetcode:分割等和子集(01背包)
给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例 2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集....原创 2020-02-03 22:42:02 · 307 阅读 · 0 评论 -
leetcode 213:打家劫舍Ⅱ
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [2,3,2]输出: 3解释: 你不能...原创 2020-02-01 12:51:08 · 247 阅读 · 0 评论 -
leetcode 43:全排列Ⅱ
给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]对于有重复数字的序列的全排列,不能像一般全排列那样写,会有重复排列出现,其中最主要的问题就是如何解决重复排列的问题。下面来看一下如果出现了重复排列我们会发现什么特点。eg : {1, 1‘, 2} (为了方便起见,第二个1用1’表示)...原创 2020-01-27 11:01:56 · 116 阅读 · 0 评论 -
leetcode 93:复原IP地址(DFS+Backtracking)
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: “25525511135”输出: [“255.255.11.135”, “255.255.111.35”]IP地址:分为四个部分,各部分之间用点分隔。每个部分数字大小不能超过255,且不能有前导0。思路:每个部分从一位数开始dfs,没有用完整个字符串就回溯;对于当前部分,小于等于255时才d...原创 2020-01-26 18:35:54 · 198 阅读 · 0 评论 -
leetcode 347:前K个高频元素(桶排序)
给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]说明:你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。思路:...原创 2020-01-23 11:49:56 · 267 阅读 · 0 评论 -
leetcode 540:有序数组中的单一元素
给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。示例 1:输入: [1,1,2,3,3,4,4,8,8]输出: 2示例 2:输入: [3,3,7,7,10,11,11]输出: 10注意: 您的方案应该在 O(log n)时间复杂度和 O(1)空间复杂度中运行。Solution1:异或(O(n))根据异或的性质:a^a = 0, a^0 = ...原创 2020-01-11 23:32:21 · 202 阅读 · 0 评论