Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Miykael_xxm
leetcode
提交
7346473e
L
leetcode
项目概览
Miykael_xxm
/
leetcode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
leetcode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7346473e
编写于
3月 13, 2021
作者:
L
lucifer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 优化文字
上级
69bf82a2
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
9 addition
and
5 deletion
+9
-5
problems/283.move-zeroes.md
problems/283.move-zeroes.md
+5
-5
problems/96.unique-binary-search-trees.md
problems/96.unique-binary-search-trees.md
+4
-0
未找到文件。
problems/283.move-zeroes.md
浏览文件 @
7346473e
...
...
@@ -34,17 +34,17 @@ https://leetcode-cn.com/problems/move-zeroes/
## 思路
如果题目没有要求 modify in-place 的话,我们可以先遍历一遍将包含 0 的和不包含 0 的存到两个数组,
然后拼接两个数组即可。 但是题目要求 modify in-place, 也就是不需要借助额外的存储空间,刚才的方法
空间复杂度是 O(n).
如果题目没有要求 modify in-place 的话,我们可以先遍历一遍将包含 0 的和不包含 0 的存到两个数组,然后拼接两个数组即可。 但是题目要求 modify in-place, 也就是不需要借助额外的存储空间,刚才的方法空间复杂度是 O(n).
那么如果 modify in-place ,空间复杂度降低为 1 呢?
其实可以借助一个游标记录位置,然后遍历一次,将非 0 的原地修改,最后补 0 即可。
其实可以使用
**读写双指针**
来做。具体来说使用一个慢指针表示写指针,快指针表示读指针。
具体来说:读指针不断往后移动。如果遇到非 0,则将读到的值写入写指针,触发写指针移动(其他情况写指针不动),读指针走到头算法结束。经过这样的处理,最终写指针的位置前面就是所有的非 0 数了, 最后将写指针后的 位置全部修改为 0 即可。
## 关键点解析
-
双指针
-
读写
双指针
## 代码
...
...
problems/96.unique-binary-search-trees.md
浏览文件 @
7346473e
...
...
@@ -34,6 +34,10 @@ https://leetcode-cn.com/problems/unique-binary-search-trees/
-
百度
-
字节
## 岗位信息
-
腾讯(广州)- 安卓 - 社招 - 三面
## 思路
这是一个经典的使用分治思路的题目。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录