首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
代码重构
若信
创建于2021-05-13
订阅专栏
主要用来重新书写之前写过的leetcode题目,对代码进行重构
暂无订阅
共28篇文章
创建于2021-05-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
代码重构:leetcode 7. 整数反转
7. 整数反转 虽然只是一个简单题,但是值得我们思考的是处理越界情况。 通常是使用上升,即int变成long的来处理。 常见的比如double或者float判等的时候是使用精度小于1e-9来判定。 分
代码重构:leetcode 6. Z 字形变换
6. Z 字形变换 就简单模拟。 使用cur记录当前数组所在位置,然后如果是向下递增,则每次cur++,若是到底,则反向。同理,当向上时候,就cur--,若是到顶,则反向。 有趣的点是代码重构时候如何
代码重构:leetcode 5. 最长回文子串
5. 最长回文子串 没什么特别的,就是马拉车算法。 关于马拉车算法,dp[i]是半径,除i这点的半径,于是最后会得到的结果是: 原因是最后最长的半径比如从#开始,于是最后长度就是dp[index],而
代码重构:leetcode 4 寻找两个正序数组的中位数
代码重构:leetcode 4 寻找两个正序数组的中位数 设两个数组长度分别为m,n 对第一个数组先取前i个数,第二个数组取前(m+n+1)/2-i个数字,组成leftpart,其余剩下的组成righ
代码重构:leetcode 33. 搜索旋转排序数组
33. 搜索旋转排序数组 这题显然也可以像官方题解那样,把题目分成几个条件,按条件来收缩,但我总觉得不必那样。 我们按照之前写题的套路,需要确定解空间。当非满足解空间时候就要跳过,收缩到解空间。 于是
代码重构:leetcode 32. 最长有效括号
32. 最长有效括号 是一个dp的题目,设dp[i]表示以i结尾的最长匹配串的长度。接着我们就可以考虑两种情况: s.charAt(i)=='(' 这种情况显然dp[i]=0 s.charAt(i)=
代码重构:leetcode 31. 下一个排列
31. 下一个排列 下一个排列,可以说是下一个更大的数。 怎么找下一个更大的数呢,实际上就是找最后一个存在逆序的元素i,此时把之前和之后分成两片,需要找打之后那一片里面第一个大于i的数字和i交换,然后
代码重构:leetcode 30. 串联所有单词的子串
30. 串联所有单词的子串 如果我们把单词看成一个整体,就变成了类似【字符串中找最长不重复的字符子串】,为了能使得我们得到完整的遍历空间。 假设数组长度*单词长度=k,要遍历所有可能,需要[0~n-k