Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

算法训练营(深圳站)第三周作业 #114

Open
GeekUniversity opened this issue Jun 28, 2019 · 212 comments
Open

算法训练营(深圳站)第三周作业 #114

GeekUniversity opened this issue Jun 28, 2019 · 212 comments

Comments

@GeekUniversity
Copy link
Contributor

要求

  1. 每周至少完成给定题目中的两道算法题
  2. 围绕每周重点学习的算法知识点,撰写一篇有观点和思考的技术文章(字数不限)

注意事项

  1. 下面列出的题目中,按照知识点进行了简单分类,但并不意味着使用相应的数据结构或算法一定是解决该题目的最优解,这样分类只是为了方便大家有针对性的练习;
  2. 有的题目可能需要结合多个算法或数据结构进行求解。

第三周题目

中等:https://leetcode.com/problems/number-of-islands/
中等:https://leetcode-cn.com/problems/course-schedule-ii

堆和排序

简单:https://leetcode-cn.com/problems/kth-largest-element-in-a-stream/
困难:https://leetcode-cn.com/problems/find-median-from-data-stream/

DFS

简单:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/
简单:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/
中等:https://leetcode-cn.com/problems/friend-circles/
中等:https://leetcode-cn.com/problems/find-eventual-safe-states/
困难:https://leetcode-cn.com/problems/longest-increasing-path-in-a-matrix/
困难:https://leetcode-cn.com/problems/minesweeper/
困难:https://leetcode-cn.com/problems/word-ladder/

BFS

简单:https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal/
简单:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/
简单:https://leetcode.com/problems/binary-tree-level-order-traversal-ii/
中等:https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/
中等:https://leetcode-cn.com/problems/minesweeper/
中等:https://leetcode-cn.com/problems/minimum-height-trees/

作业提交规则

  1. 在提交作业之前,请先阅读这里的 README 文档:
    https://github.com/algorithm002/algorithm/blob/master/README.md
  2. 然后在此 Issues 下按照如下格式回复:

#作业提交
学号:
username:
代码作业:(填写自己仓库下对应的作业链接即可,同时记得给本仓库提交 pull request)
学习总结:发表自己本周的学习感言 issues,并提交链接,issues 标题格式:“【学号后三位-week1】+文章标题”,格式参考:#2
使用语言:

@GeekUniversity GeekUniversity pinned this issue Jun 28, 2019
@geniikid
Copy link
Contributor

geniikid commented Jul 2, 2019

#作业提交
学号:31
username:钟绍华
代码作业:https://github.com/geniikid/algorithm/tree/master/Week_03/id_31
学习总结:#185
使用语言:c++

@wu360
Copy link
Contributor

wu360 commented Jul 7, 2019

#作业提交
学号:042
username:Winn
代码作业:https://github.com/wu360/algorithm-1/tree/master/Week_03/id_42
学习总结:#248
使用语言:Java

@yubo1
Copy link

yubo1 commented Jul 7, 2019

#作业提交
学号:050
username:yubo1
代码作业:https://github.com/yubo1/algorithm/tree/master/Week_03/id_50
学习总结: #195
使用语言:java

@yubo1
Copy link

yubo1 commented Jul 7, 2019

#作业提交
学号:31
username:钟绍华
代码作业:https://github.com/geniikid/algorithm/tree/master/Week_03/id_31
学习总结:#185
使用语言:c++

各个知识点都有练习,注释丰富。

@chaingangway
Copy link
Contributor

#作业提交
学号:026
username:chaingangway
代码作业:https://github.com/chaingangway/algorithm/tree/master/Week_03/id_26
学习总结: #198
使用语言:Python3 & C++

@pizhihui
Copy link

pizhihui commented Jul 7, 2019

#作业提交
学号:012
username:pizhihui
代码作业:https://github.com/pizhihui/algorithm/tree/master/Week_03/id_12
学习总结:#199
使用语言:Java

@pizhihui
Copy link

pizhihui commented Jul 7, 2019

#作业提交
学号:31
username:钟绍华
代码作业:https://github.com/geniikid/algorithm/tree/master/Week_03/id_31
学习总结:#185
使用语言:c++

每道题都有注释,记录很详细。

@pizhihui
Copy link

pizhihui commented Jul 7, 2019

#作业提交
学号:042
username:Winn
代码作业:https://github.com/wu360/algorithm-1/tree/master/Week_03/id_42
学习总结:#
使用语言:Java

102 题用递归实现的层序遍历,新的思路

@pizhihui
Copy link

pizhihui commented Jul 7, 2019

#作业提交
学号:050
username:yubo1
代码作业:https://github.com/yubo1/algorithm/tree/master/Week_03/id_50
学习总结: #195
使用语言:java

111 题的最小深度写的很简洁,学习代码精简之道。

@pizhihui
Copy link

pizhihui commented Jul 7, 2019

#作业提交
学号:026
username:chaingangway
代码作业:https://github.com/chaingangway/algorithm/tree/master/Week_03/id_26
学习总结: #198
使用语言:Python3 & C++

语言大神,C++和 python 都有实现。

@yyyyfan
Copy link
Contributor

yyyyfan commented Jul 7, 2019

#作业提交
学号:026
username:chaingangway
代码作业:https://github.com/chaingangway/algorithm/tree/master/Week_03/id_26
学习总结: #198
使用语言:Python3 & C++

kth largest element这题,把快排换成二分查找会不会更好一些

@chaingangway
Copy link
Contributor

#作业提交
学号:026
username:chaingangway
代码作业:https://github.com/chaingangway/algorithm/tree/master/Week_03/id_26
学习总结: #198
使用语言:Python3 & C++

kth largest element这题,把快排换成二分查找会不会更好一些

快排partition就是二分的思想

@yyyyfan
Copy link
Contributor

yyyyfan commented Jul 7, 2019

#作业提交
学号:033
username:杨帆
代码作业:https://github.com/yyyyfan/algorithm/tree/master/Week_03/id_33
学习总结:#200
使用语言:go

@yyyyfan
Copy link
Contributor

yyyyfan commented Jul 7, 2019

#作业提交
学号:31
username:钟绍华
代码作业:https://github.com/geniikid/algorithm/tree/master/Week_03/id_31
学习总结:#185
使用语言:c++

对于树的测试用例,可以看看LeetCode_297(二叉树的序列化与反序列化),能够方便的构造树

@yyyyfan
Copy link
Contributor

yyyyfan commented Jul 7, 2019

#作业提交
学号:042
username:Winn
代码作业:https://github.com/wu360/algorithm-1/tree/master/Week_03/id_42
学习总结:#
使用语言:Java

这个构造树的方法值得点赞,能够分享一下吗?

        String str = "[3,9,20,null,null,15,7]";
        TreeNode tree = TreeNode.mkTree(str);

@13474129340
Copy link
Contributor

#作业提交
学号:34
username:金家伟
代码作业:https://github.com/13474129340/algorithm-1/tree/master/Week_03/id_34
学习总结:#201
使用语言:Java

@ghost
Copy link

ghost commented Jul 7, 2019

#作业提交
学号:014
username:timespacer
代码作业:https://github.com/timespacer/algorithm/tree/master/Week_03/id_14
学习总结:#204
使用语言:Go

@ghost
Copy link

ghost commented Jul 7, 2019

#作业提交
学号:033
username:杨帆
代码作业:https://github.com/yyyyfan/algorithm/tree/master/Week_03/id_33
学习总结:#200
使用语言:go

总结中针对每道题,总结了对应的解题思路,很不错

@ghost
Copy link

ghost commented Jul 7, 2019

#作业提交
学号:34
username:金家伟
代码作业:https://github.com/13474129340/algorithm-1/tree/master/Week_03/id_34
学习总结:#201
使用语言:Java

总结中提到的代码模板确实需要多练习

@ghost
Copy link

ghost commented Jul 7, 2019

#作业提交
学号:026
username:chaingangway
代码作业:https://github.com/chaingangway/algorithm/tree/master/Week_03/id_26
学习总结: #198
使用语言:Python3 & C++

确实,质比量更重要,我在量方面刷得题不多,质方面也需要多下功夫,现在投入的时间还是太少了,如覃超老师说得,应该利用大段点的空闲时间突破自己的舒适区。

@ghost
Copy link

ghost commented Jul 7, 2019

#作业提交
学号:050
username:yubo1
代码作业:https://github.com/yubo1/algorithm/tree/master/Week_03/id_50
学习总结: #195
使用语言:java

正如总结中提到的,我们确实要多一点精益求精的精神。

@ghost
Copy link

ghost commented Jul 7, 2019

#作业提交
学号:012
username:pizhihui
代码作业:https://github.com/pizhihui/algorithm/tree/master/Week_03/id_12
学习总结:#199
使用语言:Java

总结中针对图和树的遍历,做了对比分析,比较了 DFS 和 BFS在图和树的遍历的差异

@liangcha
Copy link

liangcha commented Jul 7, 2019

#作业提交
学号:020
username:liangcha
代码作业:https://github.com/liangcha/algorithm/tree/master/Week_03/id_20
学习总结:#207
使用语言:Java

@wu360
Copy link
Contributor

wu360 commented Jul 7, 2019

#作业提交
学号:042
username:Winn
代码作业:https://github.com/wu360/algorithm-1/tree/master/Week_03/id_42
学习总结:#
使用语言:Java

这个构造树的方法值得点赞,能够分享一下吗?
String str = "[3,9,20,null,null,15,7]";
TreeNode tree = TreeNode.mkTree(str);
TreeNode 链接 https://github.com/algorithm003/algorithm/blob/master/Week_02/id_42/TreeNode.java

@Peng282
Copy link
Contributor

Peng282 commented Jul 7, 2019

#作业提交
学号:047
username:Peng282
代码作业:https://github.com/Peng282/algorithm/tree/master/Week_03/id_47
学习总结:#208
使用语言:java

@liangcha
Copy link

liangcha commented Jul 7, 2019

#作业提交
学号:31
username:钟绍华
代码作业:https://github.com/geniikid/algorithm/tree/master/Week_03/id_31
学习总结:#185
使用语言:c++

这周最早完成作业的大神,效率高,注释清晰。

@Peng282
Copy link
Contributor

Peng282 commented Jul 7, 2019

#作业提交
学号:31
username:钟绍华
代码作业:https://github.com/geniikid/algorithm/tree/master/Week_03/id_31
学习总结:#185
使用语言:c++

#作业提交
学号:31
username:钟绍华
代码作业:https://github.com/geniikid/algorithm/tree/master/Week_03/id_31
学习总结:#185
使用语言:c++

受益

@liangcha
Copy link

liangcha commented Jul 7, 2019

#作业提交
学号:042
username:Winn
代码作业:https://github.com/wu360/algorithm-1/tree/master/Week_03/id_42
学习总结:#
使用语言:Java

注释精辟!大神漏了学习总结……

@Peng282
Copy link
Contributor

Peng282 commented Jul 7, 2019

#作业提交
学号:042
username:Winn
代码作业:https://github.com/wu360/algorithm-1/tree/master/Week_03/id_42
学习总结:#
使用语言:Java
递归的用法很棒喔

@geniikid
Copy link
Contributor

#作业提交
学号:56
username:byxjxj
代码作业:https://github.com/byxjxj/algorithm/tree/master/Week_01/id_56
使用语言:GO

同学,题量有点少呀。

@geniikid
Copy link
Contributor

#作业提交
学号:045
代码作业:https://github.com/wongjinhui/algorithm/tree/master/Week_03/id_45
学习总结:#254
使用语言:js

学习js的写法。

@geniikid
Copy link
Contributor

#作业提交
学号:014
username:timespacer
代码作业:https://github.com/timespacer/algorithm/tree/master/Week_03/id_14
学习总结:#204
使用语言:Go

总结得不错。学习了。

@geniikid
Copy link
Contributor

#作业提交
学号:050
username:yubo1
代码作业:https://github.com/yubo1/algorithm/tree/master/Week_03/id_50
学习总结: #195
使用语言:java

解题思路,基本差不多。

@IslandMask
Copy link

#作业提交
学号:31
username:钟绍华
代码作业:https://github.com/geniikid/algorithm/tree/master/Week_03/id_31
学习总结:#185
使用语言:c++

各个知识点都有练习,注释丰富。

看注释量就知道有一个好习惯

@IslandMask
Copy link

#作业提交
学号:042
username:Winn
代码作业:https://github.com/wu360/algorithm-1/tree/master/Week_03/id_42
学习总结:#248
使用语言:Java

学习了你的总结。

看到题目很长的,罗列一堆假设条件让你去做的就头疼,,感觉是为了出题而出题,没有现实意义

@IslandMask
Copy link

看到题目很长的,罗列一堆假设条件让你去做的就头疼,,感觉是为了出题而出题,没有现实意义

不好意思,评论错人了,github一返回就刷新了哈哈

@wenicaicai
Copy link
Contributor

wenicaicai commented Jul 15, 2019

#作业提交
学号:59
username:杨永财
代码作业:https://github.com/wenicaicai/algorithm/tree/master/Week_03/id_59
学习总结:#341
使用语言:C#

@kkkkk0cool
Copy link
Contributor

#作业提交
学号:016
username:XHShirley
代码作业:https://github.com/XHShirley/algorithm/tree/master/Week_03/id_16
学习总结:#227
使用语言:Java

shirley这周刷题量不多哦,加油

@kkkkk0cool
Copy link
Contributor

#作业提交
学号:026
username:chaingangway
代码作业:https://github.com/chaingangway/algorithm/tree/master/Week_03/id_26
学习总结: #198
使用语言:Python3 & C++

总结写的很厉害,学习了

@kkkkk0cool
Copy link
Contributor

陈同学每周的总结写的都很全面,学习了

@kkkkk0cool
Copy link
Contributor

#作业提交
学号:026
username:chaingangway
代码作业:https://github.com/chaingangway/algorithm/tree/master/Week_03/id_26
学习总结: #198
使用语言:Python3 & C++

确实,质比量更重要,我在量方面刷得题不多,质方面也需要多下功夫,现在投入的时间还是太少了,如覃超老师说得,应该利用大段点的空闲时间突破自己的舒适区。

同意

@kkkkk0cool
Copy link
Contributor

#作业提交
学号:023
username:kkkkk0cool
代码作业:https://github.com/kkkkk0cool/algorithm/tree/master/Week_03/id_23
学习总结:#213
使用语言:C++

同学刷了好多题,一起加油。

加油

@vae-nst
Copy link
Contributor

vae-nst commented Jul 21, 2019

#作业提交
学号:057
username:vae-nst
代码作业:https://github.com/vae-nst/algorithm/tree/master/Week_03/id_57
学习总结: #168
使用语言:python

@vae-nst
Copy link
Contributor

vae-nst commented Jul 21, 2019

#作业提交
学号:057
username:vae-nst
代码作业:https://github.com/vae-nst/algorithm/tree/master/Week_03/id_57
学习总结: #168
使用语言:python

第三周作业已经提交,之前issue也提交了。当时#168

@13474129340
Copy link
Contributor

#作业提交
学号:023
username:kkkkk0cool
代码作业:https://github.com/kkkkk0cool/algorithm/tree/master/Week_03/id_23
学习总结:#213
使用语言:C++

代码很整洁

@13474129340
Copy link
Contributor

#作业提交
学号:026
username:chaingangway
代码作业:https://github.com/chaingangway/algorithm/tree/master/Week_03/id_26
学习总结: #198
使用语言:Python3 & C++

质比量更重要,说的好!

@13474129340
Copy link
Contributor

#作业提交
学号:020
username:liangcha
代码作业:https://github.com/liangcha/algorithm/tree/master/Week_03/id_20
学习总结:#207
使用语言:Java

解题思路很清晰,多种方法值得学习

@SUNFOLWER
Copy link
Contributor

#作业提交
学号:058
username:SUNFOLWER
代码作业:https://github.com/SUNFOLWER/algorithm/tree/master/Week_03/id_58
学习总结: #355
使用语言:C++

@cc1901
Copy link

cc1901 commented Jul 27, 2019

#作业提交
学号:012
username:pizhihui
代码作业:https://github.com/pizhihui/algorithm/tree/master/Week_03/id_12
学习总结:#199
使用语言:Java

102貌似不需要level的信息,所以应该不需要pair

@cc1901
Copy link

cc1901 commented Jul 27, 2019

https://github.com/Peng282/algorithm/tree/master/Week_03/id_47

547 题bCheckedPersionArray可以改个名,这个名字不太好读

@cc1901
Copy link

cc1901 commented Jul 27, 2019

https://github.com/symerSun/algorithm/tree/master/Week_03/id_37

104题else是冗余的,可以删掉

@cc1901
Copy link

cc1901 commented Jul 27, 2019

https://github.com/wongjinhui/algorithm/tree/master/Week_03/id_45

用ECMA script的写法果然很简洁

@cc1901
Copy link

cc1901 commented Jul 28, 2019

#作业提交
学号:033
username:杨帆
代码作业:https://github.com/yyyyfan/algorithm/tree/master/Week_03/id_33
学习总结:#200
使用语言:go

因为是流式数据,所以相对而言,并不适合用一般的排序算法去做,因为数据一直在变,所以堆排序就是拿来解决这种问题的

这个review真的很到位,一语点中关键点,学习了

@SUNFOLWER
Copy link
Contributor

#作业提交
学号:050
username:yubo1
代码作业:https://github.com/yubo1/algorithm/tree/master/Week_03/id_50
学习总结: #195
使用语言:java

#作业提交
学号:050
username:yubo1
代码作业:https://github.com/yubo1/algorithm/tree/master/Week_03/id_50
学习总结: #195
使用语言:java

111题最小深度确实很棒,学习了,谢谢啦^_^

@SUNFOLWER
Copy link
Contributor

#作业提交
学号:31
username:钟绍华
代码作业:https://github.com/geniikid/algorithm/tree/master/Week_03/id_31
学习总结:#185
使用语言:c++

代码注释很详细,交作业真早啊哈哈

@geniikid
Copy link
Contributor

#作业提交
学号:31
username:钟绍华
代码作业:https://github.com/geniikid/algorithm/tree/master/Week_03/id_31
学习总结:#185
使用语言:c++

代码注释很详细,交作业真早啊哈哈

程序员,两大问题。第一,看别人的程序没有注释。第二,自己不写注释。总之,写注释是一个好习惯。

@SUNFOLWER
Copy link
Contributor

#作业提交
学号:020
username:liangcha
代码作业:https://github.com/liangcha/algorithm/tree/master/Week_03/id_20
学习总结:#207
使用语言:Java

多种解题方法,开阔思路,很不错哦

@SUNFOLWER
Copy link
Contributor

#作业提交
学号:026
username:chaingangway
代码作业:https://github.com/chaingangway/algorithm/tree/master/Week_03/id_26
学习总结: #198
使用语言:Python3 & C++

代码写的很好哦,就是做的题目真的有点少啊O(∩_∩)O哈哈~

@SUNFOLWER
Copy link
Contributor

#作业提交
学号:016
username:XHShirley
代码作业:https://github.com/XHShirley/algorithm/tree/master/Week_03/id_16
学习总结:#227
使用语言:Java

shirley这周刷题量不多哦,加油

#作业提交
学号:016
username:XHShirley
代码作业:https://github.com/XHShirley/algorithm/tree/master/Week_03/id_16
学习总结:#227
使用语言:Java

shirley这周刷题量不多哦,加油

用bool变量区分奇偶,很好哦

#作业提交
学号:016
username:XHShirley
代码作业:https://github.com/XHShirley/algorithm/tree/master/Week_03/id_16
学习总结:#227
使用语言:Java

shirley这周刷题量不多哦,加油

103题用bool值区分奇偶,很好哦

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests