楼主: 依然didala
跳转到指定楼层
上一主题 下一主题
收起左侧

每天记录一下学习情况

🔗
 楼主| 依然didala 2019-4-14 23:56:58 | 只看该作者
全局:
2019.4.14
1、今天健身了,跑步 40min。
2、leetcode :晚上的时候做了 15,18 关于数组的题目,提交 submit 了。
3、晚上看了 《实现领域驱动设计》。总结了一些 DDD的概念,好处,和挑战。

今天周日,只有晚上投入了2h左右。明天努力努力。
回复

使用道具 举报

🔗
 楼主| 依然didala 2019-4-15 13:51:04 | 只看该作者
全局:
2019.4.15
中午:
1、新做 56题,没有 code 出,不过思路是有点。晚上再补充 submit。
2、复习了分布式的 ACID 和 CAP 理论。晚上再看下 BASE 理论和二阶段相关的。
回复

使用道具 举报

🔗
 楼主| 依然didala 2019-4-16 01:07:30 | 只看该作者
全局:
2019.4.15
晚上:
1、56题做出了,submit了,之前的 31 题 next permutation 没写出,也重新补充写了一遍submit 了。
2、其他的没了。跑步了 40min。今晚看了 《权利的游戏》第八季,浪费了点时间,不过好好看!!!
回复

使用道具 举报

🔗
 楼主| 依然didala 2019-4-16 13:57:28 | 只看该作者
全局:
本帖最后由 依然didala 于 2019-4-16 14:03 编辑

2019.4.16
中午:
1、重新复习了树的遍历算法,又提交了 95,144,145 题的递归算法,和前中序的非递归算法。后序的有点难,中午时间不够先不看了。也新做了 95 题,但是没做出来,思路是有了,code 还是差点
2、看了 BASE 理论。

晚上再看下树的后序非遍历,复习下之前的分布式经验,回忆下蚂蚁的容灾方案。。。有点想不起来了。。。再看下 raft 算法。
回复

使用道具 举报

🔗
 楼主| 依然didala 2019-4-17 00:46:42 | 只看该作者
全局:
2019.4.16
晚上:
1、重新做了中午没做出的 95 题,还是没 code 出,这题列入重点 review。也新做了 107,112 题,都submit了。

健身了,模拟登山 20min。
回复

使用道具 举报

🔗
 楼主| 依然didala 2019-4-17 13:58:51 | 只看该作者
全局:
2019.4.17
中午:
1、开始看链表相关的题。 做了 2. Add Two Numbers,submit了。 21. Merge Two Sorted Lists 死活没 code 出来,晚上补上。
2、开始翻译  Raft 论文。英文不太行,不过不太影响理解。

```
# 摘要
---

Raft 是一种通过日志复制的方式实现的共识算法。它从结果上来说和 Paxos 的效果是一样的,并且有具有同样的效率,但是它的组成结构和 Paxos 不同,这也使得 Raft 比 Paxos 更容易理解,也能给建造实际的系统提供一个比较好的基础。为了增加可理解性,Raft 把所谓的共识分成了不同的关键元素,比如说领导者选举,日志复制,安全等,并且它增强了内聚性,使得可以减少必须要考虑的一些过程状态。从用户的角度表明,Raft 比 Paxos 更容易学习。Raft 也包含了一种新的机制,通过使用大多数来改变集群的成员,这样会使得更加安全。

```
1. and it enforces a stronger degree of coherency to reduce the number of states that must be considered
2. which uses overlapping majorities to guarantee safety
```

# 介绍
---

共识算法使得一批机器可以比较正常的工作,即使有部分机器宕机后,也正因为如此,在建造大规模可靠的软件系统中,它们也扮演了一个比较关键的角色。在过去10年中,Paxos 算法主导了共识算法部分的讨论。大多数共识的实现都是基于 Paxos 或者多多少少被它影响。另外,在共识方面的教学上,Paxos 也成了主要的东西。
```

晚上继续开始刷下链表相关的题。
回复

使用道具 举报

🔗
 楼主| 依然didala 2019-4-18 02:16:32 | 只看该作者
全局:
2019.4.17
晚上:新做了 82,83 题,submit了,也把中午的 21 题 submit 补充了。
健身了,练了一下胸肌。

总结下:

1. 链表相关的:2,21,82,83 题。其中分2类:
1.1 一个在单链表上操作,例如83,套路就是定义下前后指针。82 题虽然是1个链表,但是思维上和 1.2 下面的思路一样。
1.2  一个在2个链表上操作,如 2,21,套路就是新定义一个output链表,思路上不要就想着原来的2个链表怎么怎么结合,而要把思考角度转向 l1,l2 链表怎么才能满足我的output链表,思考中心放在output链表上,不要放在 l1,l2 链表上。

2. 数组相关的:标签上显示做了 18 题,暂不列举了,大约也可以分成:
2.1 要遍历数组所有情况,先 add再 remove,用到递归回溯,例如 39,78,90,46,47,40
2.2 再例如数组翻转的一些问题,例如全排列这种,33,31,189题。
2.3 有些题解题技巧要先 Arrays.sort(nums),然后再 if(nums[i] == nums[i - 1]) 过滤掉重复的。例如 90,15。

3. 树相关的
3.1 最多就是遍历,多叉树/二叉树 的前中后序,层次遍历,递归解法,非递归解法,这些要到背入流了,其中,后序非递归最难,例如 429,589,590,559,102,104,105,107 。
3.2 BST 相关的,例如验证下是不是 BST,或者说BST 有多少种,例如 96,98
3.3 树的创建的,108,另外要注意,给定一个字符串,怎么创建一棵树这个问题。

4. DP,回溯算法相关的
例如 120,53,64,121,338,62,5 这类的。一般 DP,回溯都要利用到递归,递归记着有 ORT 原则,也就是说, 先有个 if 用于跳槽递归,然后再看看限制是什么,这个就是调用递归了,最后看看return 什么。

总的来说:
现在 submit 了 50 题了,20天。进度还是有点慢啊,要是能够 80 - 100题就感觉好一点了,复杂度也没好好分析,还没练习一边写一边 talk,除了算法,还要有其他,怎么办啊,这样下去不行啊。。。

回复

使用道具 举报

🔗
 楼主| 依然didala 2019-4-18 13:57:14 | 只看该作者
全局:
2019.4.18
中午:
1、新做了 203,206 两个关于链表的题,easy的,submit了,对于 206,一定要记得一些 node 要断掉它的 next 链接。
2、继续翻译一下 raft

```
尽管有很多尝试让 Paxos 能更容易让人理解些,但不幸的是,Paxos 还是比较难于理解。此外,为了支持实际的一些系统,它的架构就需要到一些比较复杂的变更。这样造成一个结果,无论是学习,还是实际的搭建中,都会比较麻烦。

在经历过学习 Paxos 这个过程后,我们决定要去找一种新的共识算法,这种算法可以给系统建造,或者学习入门都有一个比较好的基础。我们的方法会有一些不同,我们的主要目标就是易懂。就是说,我们是否可以给实际的系统定义一种共识算法,然后这种算法能够比 Paxos 更加明朗易懂。再者,我们希望这种算法能够促进提高系统开发者的一些能力。关于算法能够正确工作,这是很重要的,但是理解为什么它能够正常工作也是同样的作用。
```
回复

使用道具 举报

🔗
 楼主| 依然didala 2019-4-22 13:57:44 | 只看该作者
全局:
2019.4.22
三天停更了,没办法,出差公司培训了,这个不是懒~~~

中午:
做了 4 题 easy 的,14,66,67,70,都 submit了 。感觉思路什么的都有,也能在10分钟左右code出,还是有点进步的。 70题是一道非常典型的递归回溯。要注意一下一些相加的,可以 while 循环从后往前加,溢出再补位好了。写之前,先把各种异常情况列出来,千万不要急着动手code。
回复

使用道具 举报

🔗
 楼主| 依然didala 2019-4-23 13:36:50 | 只看该作者
全局:
2019.4.23
中午:
新做2题,55 和 152。两题都是 medium,55做出了,152 没做出。今晚要重点总结下 152,加减乘除各类的。

昨晚看权利的游戏第八季第二集了,都没看书。。。理解理解,哈哈哈。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表