
leetcode
文章平均质量分 72
白日梦想猿
一只会做白日梦的猿!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode之等式方程的可满足性
给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程equations[i]的长度为4,并采用两种不同的形式之一"a==b"或"a!=b"。在这里,a和b是小写字母(不一定不同),表示单字母变量名。只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回true,否则返回false。示例1输入["a==b","b!=a"]输出false解释如果我们指定,a=1且b=1,那么可以满足第一个方程,但无法满足第二个方程。...原创 2022-07-21 16:52:49 · 189 阅读 · 0 评论 -
LeetCode之最大正方形(暴力求解和动态规划求解)
我一开始没有想到动态规划,只想到了暴力求解:就是依次扫每一个格子,看是否满足以它为正方形的左上角构成的最大正方形。原创 2022-07-15 20:57:02 · 389 阅读 · 0 评论 -
LeetCode之完全平方数
根据如上图解,我们可以进一步细化解题步骤:求出n以内的所有完全平方数初始化一个dp数组根据状态转移方程,动态求解每一步的结果1.求出n以内的所有完全平方数# 求出n之内的所有完全平方数 pow_li = [] for i in range(1, n // 2 + 1): cur = i ** 2 if cur ...原创 2022-07-12 21:54:15 · 802 阅读 · 0 评论 -
LeetCode之单词搜索(回溯法求解)
因为前不久刚做过一个走迷宫的问题,所以在读完这题后,就发现它与走迷宫惊奇的相似,只不过在走下一步的时候条件有所改变。但是,它还是花了我2个多接近3个小时才写出来的!,唉,不说了,还是我太菜了。言归正传(菜不能做为我懒惰的理由)首先,不管是走迷宫还是这一题,都得有一个起点,对于这一题,如果一个一个去试的话,那样就太费时了,所以我首先遍历了整个网格,找到和要查找的单词的第一个字母一样的字母的位置: start_pos_li = [] # 记录单词首字母的位置 word_set ...原创 2022-07-02 22:04:56 · 1798 阅读 · 2 评论 -
贪心算法之分数背包
话说一个小偷在某商店发现有n个商品,第i个商品价值vi元,重wi千克。他希望拿走的价值尽量高,但他的背包最多只能容纳W千克的东西。他应该拿走哪些商品? 分数背包:对于一个商品,小偷可以拿走其中任意一部分。(唉,这年头,小偷也不好当了!)...原创 2022-06-29 18:35:22 · 1403 阅读 · 0 评论 -
LeetCode之合并二叉树
# 将二叉树的对应位置进行合并'''三种情况: 1.左子树和右子树都有值,则相加即可 2.左(右)子树有值,右(左)子树无值,则只添加左子树 3.左子树无值,右子树无值,则不添加遍历到任何一颗节点都是这样的,因此可以使用递归,当遍历完当前节点后,可以再分别递归遍历当前节点的左子树和右子树'''...原创 2022-06-28 22:13:49 · 228 阅读 · 0 评论 -
LeetCode之三步问题
和青蛙跳台阶一样,首先写出前几步的结果:通过这些结果,可以发现规律:f(n)=f(n-1)+f(n-2)+f(n-3) (n≥3,且f(0)=f(1)=1,f(2)=2),有了这个规律之后,代码就很好写啦!也许,有些小伙伴会说,你怎么知道一上来就知道找规律就可以得到正确的结果的?其实我一开始也不知道,就是抱着尝试的态度去的(因为我之前在做“青蛙跳台阶”的时候学到的这个方法,而这个题目和它非常的相似,所以很容易就类比想到这种方法啦!因此,解题的王道:多做,多总结。)...原创 2022-06-27 19:47:49 · 280 阅读 · 0 评论 -
leetcode之下载插件(这个运行结果有点瘆人~)
运行通过截图很显然,这种解题方法不管是时间复杂度(2^n)还是空间复杂度(2^n)都非常的高,运行的结果也可想而知,居然通过了!真是万幸哈哈哈哈,不过这个执行时间和内存消耗看着真是吓人!看题解去了~ 同步更新于个人博客系统:leetcode之下载插件(这个运行结果有点瘆人~)...原创 2022-06-18 21:09:40 · 264 阅读 · 0 评论 -
leetcode之二叉树的层序遍历
题目给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例 2:输入:root = [1]输出:[[1]]示例 3:输入:root = []输出:[]提示:树中节点数目在范围 [0, 2000] 内-1000 <= Node.val <= 1000通过次数566,503提交次数875,0原创 2022-05-10 20:36:39 · 1421 阅读 · 0 评论 -
leetcode之合并K个升序链表
题目给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6示例 2:输入:list...原创 2022-05-09 20:46:04 · 196 阅读 · 0 评论 -
LeetCode之剑指 Offer II 091. 粉刷房子,理解这一张图就够了?
题目假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n x 3 的正整数矩阵 costs 来表示的。例如,costs[0][0] 表示第 0 号房子粉刷成红色的成本花费;costs[1][2] 表示第 1 号房子粉刷成绿色的花费,以此类推。请计算出粉刷完所有房子最少的花费成本。原创 2022-05-04 09:24:40 · 317 阅读 · 0 评论 -
LeetCode,我又回来啦
**久别的LeetCode~**之前说每天坚持刷一刷LeetCode的算法题的,但是因为种种原因,可能是因为前一段时间真的太忙了挤不出时间了,或者是因为自己的惰性无法坚持下来,所以LeetCode的刷题就被耽搁了,距离上次更新LeetCode的刷题大概已经一个月了,lone time ago~唉,不得不说时间的过得是真的快,虽然说,时间就像海绵里的水,只要你肯挤,它总是会有的.但是,很多时候你可能是真的因为事情很多,可能你就用来"挤"的时间都没有,但是,我们也不能因为这些因为外界所致的额外的目标不能原创 2021-10-19 12:29:21 · 163 阅读 · 0 评论 -
LeetCode的日常练习
1.回文数**更多内容同步更新与个人博客:LeetCode的日常练习更多内容同步更新与个人博客:LeetCode的日常练习更多内容同步更新与个人博客:LeetCode的日常练习‘’'给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为原创 2021-10-22 12:25:28 · 161 阅读 · 0 评论 -
leetcode刷题日常
1.句子中的有效单词数句子仅由小写字母('a' 到 'z')、数字('0' 到 '9')、连字符('-')、标点符号('!'、'.' 和 ',')以及空格(' ')组成。每个句子可以根据空格分解成 一个或者多个 token ,这些 token 之间由一个或者多个空格 ' ' 分隔。如果一个 token 同时满足下述条件,则认为这个 token 是一个有效单词:仅由小写字母、连字符和/或标点(不含数字)。至多一个 连字符 '-' 。如果存在,连字符两侧应当都存在小写字母("a-b" 是一个有效单词,但原创 2022-01-27 16:33:44 · 482 阅读 · 0 评论 -
二进制求和
题目描述:''给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"提示:每个字符串仅由字符 '0' 或 '1' 组成。1 <= a.length, b.length <= 10^4字符串如果不是 "0" ,就都不含前导零。'''解法:根据十进制转二进制...原创 2022-02-03 15:11:49 · 640 阅读 · 0 评论 -
leetcode日常之x 的平方根(二分法求解)
题目描述'''给你一个非负整数 x ,计算并返回x的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。提示:0 <= x <= 231 - 1'''思路:题...原创 2022-02-04 21:54:54 · 3753 阅读 · 0 评论 -
leetcode之爬楼梯(上过小学的都会的题目,可惜我不会。。。)
题目描述假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶提示:1 <= n <= 45解题思路:根据题意可知:可..原创 2022-02-05 19:57:59 · 418 阅读 · 0 评论 -
leetcode之只出现一次的数字(异或可不是唯一的解题方法呀?)
题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4通过次数587,015提交次数815,440我的解题思路:遍历数组,取当前遍历到的值,调用remove方法两次进行移除该元素,如果成功(说明该数出现了两次),进入下一次循环,此时i的值不变,否则移.原创 2022-02-05 21:14:49 · 5418 阅读 · 0 评论 -
leetcode之字母异位词分组
题目描述:给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。示例 1:输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"],["nat","tan"],["ate","eat","tea"]]示例 2:输入: strs = [""]输出: [[""]]示例 3:输入: strs原创 2022-03-10 23:37:21 · 6516 阅读 · 0 评论 -
leetcode之汉明距离(一行代码就够了?)
题目描述:两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。示例 1:输入:x = 1, y = 4输出:2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。示例 2:输入:x = 3, y = 1输出:1解题思路:常规思路来应该就是先将这个两个整数分别转成二进制,然后再循环遍历,找相同位但数字不同的位置的个数。...原创 2022-03-14 21:19:08 · 6660 阅读 · 5 评论 -
leetcode之合并区间
题目描述:以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。示例 1:输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入:intervals =.原创 2022-03-28 20:55:34 · 2003 阅读 · 0 评论 -
leetcode之三数之和
题目描述:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]提示:0 <= nums.length <...原创 2022-04-04 21:20:51 · 2755 阅读 · 0 评论 -
leetcode之组合总和(动态规划求解)
题目描述:给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。示例 1:输入:candidates = [2,3,6,7],原创 2022-04-18 21:25:24 · 1198 阅读 · 0 评论 -
leetcode之每日温度(单调栈)
题目:给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指在第 i 天之后,才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。示例 1:输入: temperatures = [73,74,75,71,69,72,76,73]输出:[1,1,4,2,1,1,0,0]示例 2:输入: temperatures = [30,40,50,60]输出:[1,1,1,0]示例 3:输入: te..原创 2022-04-16 21:32:39 · 507 阅读 · 0 评论