首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
leetcode题解
ClyingDeng
创建于2021-07-29
订阅专栏
用于记录刷题题解,夯实基础算法。
等 12 人订阅
共35篇文章
创建于2021-07-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
剑指 Offer 64. 求1+2+…+n|刷题打卡
求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 如果不限制可以使用递归 + if。 此外,除了关键字,我们还可能想到的就是运算符。 将if替换成&&运算符即可。 …
714. 买卖股票的最佳时机含手续费|刷题打卡
给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。 你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。 返回获得利润的最大值。 注意:这…
678. 有效的括号字符串|刷题打卡
给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 )。 任何右括号 ) 必须有相应的左括号 ( 。 左括号 ( 必须在对应的右括号之前 )。 * 可以被视为单个右括号 ) …
20. 有效的括号|刷题打卡
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 题目很简单,使用一个栈便可以解决。根据提示可知,字符串长度大于等于1,所以可以不考虑为0的情况。 符合')',…
面试题 17.11. 单词距离|刷题打卡
记录返回的初始值temp为words数组长度。第一次循环words,第一次出现word1的时侯,再循环一次words,找到word2出现的下标。此时word1和word2差值的绝对值与temp相比,去最小值。 外循环中,如果不止一次出现word1,就会依次循环比较,在内循环中更…
12. 整数转罗马数字|刷题打卡
例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数…
1047. 删除字符串中的所有相邻重复项|刷题打卡
S 仅由小写英文字母组成。 利用数组arr存放最后所需的结果,然后转字符串。 循环字符串S,判断arr最后一位是否等于当前循环的字符串,不等就将当前值添加到arr中,否则就删除arr中最后一位。 使用变量存储中间值。
34. 在排序数组中查找元素的第一个和最后一个位置|刷题打卡
循环数组,将等于目标值的下标存储到数组arr中。 判断数组长度,如果为0,则未匹配上返回[-1, -1];不为0,则返回arr中的第一个和最后一个数。 使用变量存储中间值。
14. 最长公共前缀|刷题打卡
当数组为0时,返回空字符串。 数组不为0时,假定使用数组第一个字符串str[0]作为比较对象,将str[0]中每个字符串挨个与数组中其他字符串比较是否相等。如果不相等则返回上一次比较的字符串,全等则返回str[0]。 当数组为0时,返回空字符串。 数组不为0时,使用排序,先将数…
13. 罗马数字转整数|刷题打卡
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。…
232. 用栈实现队列|刷题打卡
你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。 你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。 使用…
1. 两数之和|刷题打卡
暴力破解:双循环,只是第二次循环时不能与上一个循环值相同。两次循环的数值相加作为判断条件,符合条件则放到一个返回数组内。 暴力枚举有待优化,但是看了官方题解都是关于java的hashMap的。。。
69. x 的平方根|刷题打卡
拿到这个题目,第一想法就是循环。条件i * i < x && (i + 1) * (i + 1) > x。介于两个连续数的平方之间。然后考虑特殊情况;如果是0,直接返回;如果等于i*i,返回i(即1);如果等于(i + 1) * (i + 1),返…
162. 寻找峰值|刷题打卡
看到这个题目,第一想法就是使用循环,一个循环就能搞定。 一维数组,循环,取最大值即可。 刚复习了一下二分查找,发现这题也可以使用二分查找来实现。 从中间开始查找,peakIndex为中间值,l为左边界,r为右边界值。判断nums[peakIndex] < nums[p…
121. 买卖股票的最佳时机|刷题打卡
刚接触这个题目,觉的还是挺简单的,借鉴选择排序,两个循环就可以搞定。嗯,没错,就是下文方法一。 既然给出一个数组求最大利润,那就先设定一个变量profit保存利润值。买入时间必须要比卖出时间早,并且盈利:卖出值 - 买入值 = 利润。在数组循环中寻求最大利润值。那就需要两个循环…