algorithm001 / algorithm

119 stars 152 forks source link

算法训练营第三周作业 #299

Open GeekUniversity opened 5 years ago

GeekUniversity commented 5 years ago

本周重点学习知识点

递归树、堆和排序、图、深度和广度优先搜索、字符串匹配

要求

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

注意事项

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

第三周题目

简单:https://leetcode-cn.com/problems/find-the-town-judge/ 中等:https://leetcode-cn.com/problems/course-schedule-ii 困难:https://leetcode-cn.com/problems/minimize-malware-spread-ii/

堆和排序

简单:https://leetcode-cn.com/problems/kth-largest-element-in-a-stream/ 中等:https://leetcode-cn.com/problems/find-k-pairs-with-smallest-sums/ 困难: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/number-of-islands/ 中等: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/making-a-large-island/

BFS

简单:https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal/ 中等:https://leetcode-cn.com/problems/minesweeper/ 中等:https://leetcode-cn.com/problems/minimum-height-trees/ 困难:https://leetcode-cn.com/problems/bus-routes/

作业提交规则

  1. 在提交作业之前,请先阅读这里的 README 文档:https://github.com/algorithm001/algorithm/blob/master/README.md
  2. 然后在此 Issues 下按照如下格式回复:
  1. 学号 + GitHub Username
  2. 作业代码的 GitHub 链接(填写自己仓库下对应的作业链接即可,同时记得给本仓库提交 pull request)
  3. 发表自己本周的学习感言 issues,并提交链接,issues 标题格式:“【学号后三位-week2】+文章标题”,格式参考:https://github.com/algorithm001/algorithm/issues/9
defuncc commented 5 years ago

学号:19 username:defuncc 第三周作业链接:https://github.com/defuncc/algorithm/tree/master/Week_03/id_19 学习总结:#574

gaoshengnan commented 5 years ago

学号:087 Username:gebitang 第三周作业链接:https://github.com/gebitang/algorithm/tree/master/Week_03/id_87 学习感言: ##514 语言:java

学习到了~~

gaoshengnan commented 5 years ago

学号:113 Username:sadcat 第三周作业链接:#488 学习感言:#489

思路表达清晰,学习到了~

yanlingli3799 commented 5 years ago

学号:118(李颜翎) 第三周作业链接:https://github.com/yanlingli3799/algorithm/tree/master/Week_03/id_118 学习感言: #508 题目:207、210、924、928、997(Java)

看了你的作业,现在你是我看过的人最佩服的了。画图画成这样真是太厉害了。想问下,你的928草稿,是怎么导出这个效果的呀,就在纸上画,然后拍照,扫描吗?

用Notability画的,前两天有同学在群里问过啦~ 可以试试看,性价比挺高的~

yanlingli3799 commented 5 years ago

学号:118(李颜翎) 第三周作业链接:https://github.com/yanlingli3799/algorithm/tree/master/Week_03/id_118 学习感言: #508 题目:207、210、924、928、997(Java)

有几个题没写,没看你的答案。。。,回头我写不出来,在来膜拜

肯定能写出来,哈哈哈哈

yanlingli3799 commented 5 years ago

学号:118(李颜翎) 第三周作业链接:https://github.com/yanlingli3799/algorithm/tree/master/Week_03/id_118 学习感言: #508 题目:207、210、924、928、997(Java)

我就喜欢review这种注释比代码多的,专写难题666

也不是专写难题,只是这次都选了“图”相关的题做~~~

tolookme commented 5 years ago

学号:078 Username:tolookme 第三周作业链接:https://github.com/tolookme/algorithm/tree/master/Week_03/id_78 学习感言:#576

1005419213zxf commented 5 years ago

学号: 115 username:1005419213zxf 第三周作业链接:https://github.com/1005419213zxf/algorithm/tree/master/Week_03/id_115 学习感言:#579

cwbcheng commented 5 years ago

学号:002 Username: cwbcheng 第三周作业连接: https://github.com/cwbcheng/algorithm/tree/master/Week_03/id_2 学习感言: #393

alxjerr commented 5 years ago

学号: 097 username: alxjerr 第三周作业链接:https://github.com/alxjerr/algorithm/tree/master/Week_03/id_97 学习感言:https://github.com/algorithm001/algorithm/issues/580

tolookme commented 5 years ago

学号:118(李颜翎) 第三周作业链接:https://github.com/yanlingli3799/algorithm/tree/master/Week_03/id_118 学习感言: #508 题目:207、210、924、928、997(Java)

这 图例草稿 画得太赞了!

alxjerr commented 5 years ago

学号:134 Username:wxisme 第三周作业链接:https://github.com/wxisme/algorithm/tree/master/Week_03/id_134 学习感言:#535

最大堆,最小堆学习了

yuzewang commented 5 years ago

学号:136 Username:yuzewang 第三周作业链接:https://github.com/yuzewang/algorithm/tree/master/Week_03/id_136 学习感言:#551

生活中真是在无意识中使用了各种算法啊。快递放货架的问题(快递更是对包裹使用了日期 + 自增 id 的编号方式),那他的货架得至少有 31 个吧

三天的就差不多了 可以参考缓存淘汰算法

v1xingyue commented 5 years ago

学号: 007 UserName: @v1xingyue 作业提交: https://github.com/v1xingyue/algorithm/tree/master/Week_03/id_7 学习感言: #585

hotboy commented 5 years ago

学号:034,用户名:hotboy(王文帅) 第三周作业链接:https://github.com/algorithm001/algorithm/tree/master/Week_03/id_34 第三周学习总结:https://github.com/algorithm001/algorithm/issues/586

570035853 commented 5 years ago

学号:029 Username: 570035853 (6组邹加磊) 第三周作业链接:https://github.com/570035853/algorithm/tree/master/Week_03/id_29 学习感言:#587 题目:104、200、373、703、997(java)

dreakzss commented 5 years ago

学号:139 Username: dreakzss (6组邹加磊) 第三周作业链接:https://github.com/dreakzss/algorithm/tree/master/Week_03/id_139 学习感言:https://github.com/algorithm001/algorithm/issues/589

570035853 commented 5 years ago

学号:094 Username:ellie88 第三周作业链接:https://github.com/ellie88/algorithm/tree/master/Week_03/id_94 学习感言: #548 编程语言:Java

看过,学习了

570035853 commented 5 years ago

学号:139 Username: dreakzss (6组邹加磊) 第三周作业链接:https://github.com/dreakzss/algorithm/tree/master/Week_03/id_139 学习感言:#589

你的Username后面 我的名字没删

Hermancg commented 5 years ago

学号:014 Username:aiter 第三周作业链接:https://github.com/aiter/algorithm/tree/master/Week_03/id_14 学习感言:#537

总结很好,学习到了

Hermancg commented 5 years ago

学号:118(李颜翎) 第三周作业链接:https://github.com/yanlingli3799/algorithm/tree/master/Week_03/id_118 学习感言: #508 题目:207、210、924、928、997(Java)

向你学习,我最近有点松懈了,要刻苦刻苦再刻苦

570035853 commented 5 years ago

学号:088 Username:Hermancg 第三周作业链接:https://github.com/Hermancg/algorithm/tree/master/Week_03/id_88 学习感言: #534

有的地方写的不一样,学习到了

学号:030 Username:GUOSF 第三周作业链接:https://github.com/GUOSF/algorithm/tree/master/Week_03/id_30 学习感言:#554

看了你写的总结,我觉得我是该把图的相关知识补一下了 703里面,可以考虑省一行代码return queue.peek(); 997的想法的确没想到,代码至少比我写的方式简单整洁

fishLite commented 5 years ago

学号:013 Username:fishLite 第三周作业链接:https://github.com/fishLite/algorithm/tree/master/Week_03/id_13 学习感言:#596

AlenPark commented 5 years ago

学号:014 Username:AlenPark 第三周作业链接:https://github.com/AlenPark/algorithm/tree/master/Week_03/id_72 学习感言:#597

Hermancg commented 5 years ago

学号:029 Username: 570035853 (6组邹加磊) 第三周作业链接:https://github.com/570035853/algorithm/tree/master/Week_03/id_29 学习感言:#587 题目:104、200、373、703、997(java)

总结得很好,学习到了,有收获

570035853 commented 5 years ago

学号:014 Username:aiter 第三周作业链接:https://github.com/aiter/algorithm/tree/master/Week_03/id_14 学习感言:#537

赞总结 算法题目也比较靓

570035853 commented 5 years ago

学号:118(李颜翎) 第三周作业链接:https://github.com/yanlingli3799/algorithm/tree/master/Week_03/id_118 学习感言: #508 题目:207、210、924、928、997(Java)

用心努力 每一项都太棒了 拿你当榜样

Hermancg commented 5 years ago

学号:122 Username:yuanyunxu 第三周作业链接:https://github.com/yuanyunxu/algorithm/tree/master/Week_03/id_122 学习感言: #558

我也喜欢研究问题背后的来由

Hermancg commented 5 years ago

学号:101 username:gaoshengnan(seina) 第三周作业链接:https://github.com/gaoshengnan/algorithm-1/tree/master/Week_03/id_101 学习总结:#573

加油!

570035853 commented 5 years ago

https://github.com/myrichhub/algorithm/tree/master/Week_03/id_28

对于你总结里面的提问,我是这样想的,如果我是面试官,两种方式我觉得都是可以的,甚至更倾向于使用PriorityQueue(但对堆的原理要足够了解)

  1. 手写堆的实现,说明对堆完全理解的,而且代码能力相对会比较突出。
  2. 使用PriorityQueue,说明对java内部提供的数据结构足够了解并且能正确应用,该实现类仍包含有较多的知识点,工程应用中,更倾向于使用该方式。
rononz commented 5 years ago

学号: 142 Username:rononz 第三周作业链接:https://github.com/rononz/algorithm/tree/master/Week_03/id_142 学习感言: https://github.com/algorithm001/algorithm/issues/601

artisticman commented 5 years ago

学号:140 Username:artisticman 第三周作业链接:https://github.com/artisticman/algorithm/tree/master/Week_03/id_140 学习感言: https://github.com/algorithm001/algorithm/issues/600

guwunianzhi commented 5 years ago

学号:133 Username:guwunianzhi 第三周作业链接:https://github.com/guwunianzhi/algorithm/tree/master/Week_02/id_133 学习感言:#605

hijkoo commented 5 years ago

学号:012 Username:hijkoo 第三周作业链接:https://github.com/hijkoo/algorithm/tree/master/Week_03/id_12 学习感言: #592

Fanlu91 commented 5 years ago

学号:026 Username:fanlu91 第三周作业链接:https://github.com/Fanlu91/algorithm/tree/master/Week_03/id_26 学习感言:https://github.com/algorithm001/algorithm/issues/607

shironghui0593 commented 5 years ago

学号:065 Username: shironghui0593 第三周作业链接:https://github.com/shironghui0593/algorithm/tree/master/Week_03/id_65 学习感言:#606

plin005 commented 5 years ago

学号: 039, GitHub Username: plin005(林媛媛) 第三周作业链接:https://github.com/plin005/algorithm/tree/master/Week_03/id_39 学习感言: 【039-week3】学习总结”,#609

liusuisui commented 5 years ago
wahaha2019 commented 5 years ago

学号: 063 (9组) GitHub Username: wahaha2019 语言: Java 代码链接: https://github.com/wahaha2019/algorithm/tree/master/Week_03/id_63 学习感言: https://github.com/algorithm001/algorithm/issues/613

glve1027 commented 5 years ago

学号: 031 (10组) GitHub Username: glve1027 语言: Swift 代码链接: https://github.com/glve1027/algorithm/tree/master/Week_03/id_31 学习感言: #599

MrQingQuan commented 5 years ago

学号:046 Username:MrQingQuan 第三周作业链接:https://github.com/MrQingQuan/algorithm/tree/master/Week_03/id_46 学习感言:#612

wcvolcano commented 5 years ago

学号:047 Username:wcvlocano 第三周作业链接:https://github.com/wcvolcano/algorithm/tree/master/Week_03/id_47 学习感言: #615

kdbreboot commented 5 years ago

学号:003 Username:battlezh 第三周作业链接:https://github.com/battlezh/algorithm/tree/master/Week_03/id_3 学习感言: #617

ma451152002 commented 5 years ago

学号:058 Username:maguangjun(马光君) 第三周作业链接:https://github.com/algorithm001/algorithm/tree/master/Week_03/id_58 学习感言: #584

bin-albin commented 5 years ago

学号:100 Username:bin_albin 第三周作业链接:https://github.com/bin-albin/algorithm/tree/master/Week_03/id_100 学习感言: #620

zhaowende commented 5 years ago

学号:123 Username:zhaowende 第三周作业链接:https://github.com/zhaowende/algorithm/tree/master/Week_03/id_123 学习感言: #619

liutong-cnu commented 5 years ago

学号:144 Username:liutong 第三周作业链接:https://github.com/liutong-cnu/algorithm/tree/master/Week_03/id_144 学习感言:623

yuqiu-pp commented 5 years ago

学号:006 Username:yuqiu-pp 第三周作业链接:https://github.com/yuqiu-pp/algorithm/tree/master/Week_03/id_6 学习感言:#624

yuqiu-pp commented 5 years ago

艰难的一周

xuyunbo commented 5 years ago

学号:090 Username:xuyunbo 第三周作业链接:https://github.com/myrichhub/algorithm/tree/master/Week_03/id_90 学习感言:。。。