ARTS 十二月 01, 2020

ARTS 打卡 09

文章字数 5.6k 阅读约需 5 分钟

Algorithm排序链表圈(Leetcode 148,中等) 123456789101112131415161718192021222324252627282930313233343536class Solution: def sortList(self, head: ListNode) -> ListNode: if not head or not head.n... 查看全文

ARTS 八月 02, 2020

ARTS 打卡 08

文章字数 740 阅读约需 1 分钟

Algorithm朋友圈(LeetCode 547,中等) 这道题是并查集考察的最经典的一道题了(当然也可以用 BFS,但总感觉比较山寨),因为并查集有几个比较基本的特性(查找两个节点是不是有同一个父亲,集合里边总共有多少个区块)正好有适用于这道题的特性。需要注意的就是要自己的得把并查集实现出来。 ReviewSplit laps timer with RxSwift and RxCocoa Marin 老哥的博客关注很久了,每次都是碰到问题会去看,这次准备从头开始系统的看一下他的博客,第一篇比较简单,就从第二篇开始写感想。 TipsShare跨端开发的终极解决方案?- Flutter 学习历程之环境配置采坑记录(原文暂缺) 查看全文

ARTS 七月 26, 2020

ARTS 打卡 07

文章字数 2k 阅读约需 2 分钟

本文主要是公司内部 ARTS 活动打卡记录 Algorithm课程表II(LeetCode 210,中等) 这道题算是拓扑排序的经典了(刷了好几遍了,这周好多事偷个懒)。当然底层的算法还是万年不变的 BFS,算是比较好理解,唯一需要的注意的就是入度的定义,这个是这道题除了 BFS 之外的关键。 Review这周看的东西都写在了分享的博客里,主要想说一下这周同事关于 OpenGL 的分享。之前由于苹果对于 OpenGL 有比较好的封装,所以很少接触到它,但是听了分享以后才发现自己对于许多苹果底层的东西知之甚少,比如 OpenGL,比如 Metal。听闻说 Metal 还是 CoreML 的基础(亏我还翻译过关于 CoreML 的文章,惭愧啊),之后在做完单测和 Flutter 分享以后要多花花时间看看这些底层的东西(包括 CoreAnimation 也是云里雾里的)。 Tips每次最头疼的就是 Tips 了,但是今天发现一个挺有用的小技巧。之前在 Swift 中使用 Selector 总感觉很山寨,还要写个 #selector,奇奇怪怪的,但是有一种很优雅的解决方式就是在当前文... 查看全文

ARTS 七月 20, 2020

ARTS 打卡 06

文章字数 1.9k 阅读约需 2 分钟

本文主要是公司内部 ARTS 活动打卡记录 AlgorithmK 个一组翻转链表(LeetCode 25,困难) 这个题真的是就算知道怎么做也是要写错好几回,我这次的 AC 率是 6,感觉链表的题还是要多练才行。还有 Dummy Node 的技巧也很重要。 Review这周看了这篇教程:Testing Your RxSwift Code RxTest VS. RxBlocking两个在 Rx 的测试中都非常有用,RxBlocking 更加直观,RxTest 更加全面。 RxTest 可以覆盖大部分测试,而且 TestScheduler 模拟的虚拟时间可以大大缩短测试时间,但是写起来比较长也比较麻烦 相比 RxBlocking 写起来非常简单也直观,但使用场景比较局限,其中对我们来说比较致命的一点是 RxBlocking 对于无法停止的序列的测试能力很有限,并不能提供我们需要的能力。而我们直播中大部分序列都是无限序列,所以暂时不考虑 RxBlocking。 还有一点就是,RxBlocking 无法测试时间相关的用例,比如我在 1s的时候收到一个信号,想测试输出是否在 1s的时候... 查看全文

ARTS 七月 05, 2020

ARTS 打卡 04

文章字数 2.4k 阅读约需 2 分钟

本文主要是公司内部 ARTS 活动打卡记录 Algorithm前缀树问题(LeetCode 208 中等) 这个问题也相当于一个比较基础的问题了,它是一些其他题目(比如 Word ladder II 之类的)题目的前置题目,这个题目如果你是想刷算法的话属于必背题目,核心点是在每次插入一个单词的时候更新树的结构,这样的话在下次查找的时候就可以判断是否有这个单词或者是否有以某个单词开头的单词。 一个比较重要的点就是前缀树和哈希表之间的对比,他们俩在很多时候可以互相替代,前缀树花费的空间更少一些但是单次查询花费的时间更多一点。 ReviewTips前一阵做单元测试的时候发现一个问题,就是如果想把 UIImage 作为 ViewModel 的输出的时候会有一个问题就是不知道怎么样单测这个 UIImage 的输出,最后无奈只能让 ViewModel 输出 UIImage 的名字,然后在 ViewController 中来进行 UIImage 的初始化。但是昨天看关于单测的东西的时候发现一个很好用的技巧,下次在做单测的时候可以尝试使用了: 12345678910 func testIma... 查看全文

ARTS 七月 05, 2020

ARTS 打卡 03

文章字数 543 阅读约需 1 分钟

Algorithm三角形最小路径之和(LeetCode 120,中等) 这道题属于动态规划的入门题了,所以感觉给中等完全是给动态规划面子。有两种方法可以做,一种是自底向上,一种是自顶向下。分别对应的是正着想和反向推。 ReviewTipsShareA song of TDD and BUG - 副歌 查看全文

ARTS 七月 05, 2020

ARTS 打卡 02

文章字数 575 阅读约需 1 分钟

本文主要是公司内部 ARTS 活动打卡记录 Algorithm有效的括号(Leetcode 20,简单) 偷个懒做一道简单的题。这道题是写在脸上的用 stack 来做,而且属于实现比较简单的那种(写计算器能把你写吐血)。 ReviewTipsShareA song of TDD and BUG - 主歌 查看全文

ARTS 六月 14, 2020

ARTS 打卡 01

文章字数 2.8k 阅读约需 3 分钟

本文主要是公司内部 ARTS 活动打卡记录 AlgorithmN 皇后问题(LeetCode 51 困难) 这个题目也算是 DFS 算法中经典的经典,所以这道题目的结构也是遵循递归的几大步骤(recursion terminator,current level logic,drill down,reverse state if needed),只不过这道题目需要多考虑的是怎么剪枝,也就是如果提前发现本次递归是一个无效的递归就提前终止。我的做法是用了三个 set 来记录当前的位置是否有效,我看讨论区还有一种用位运算来处理的,看起来很 fancy,但是没有仔细去研究,有时间需要好好看一下。 DFS 一直感觉有一点烧脑,尤其是如果做人肉递归的情况下,以后要养成避免人肉递归的习惯。 Review最近一直在看 Raywenderlich 的 RxSwift 的书,已经看到了第 24 章(总共 25 章 fighting!),感觉收获很大,好好反思了之前对于 RxSwift 的用法,觉得有很多不合理的地方,而且也有了一些在工作上该如何使用的思考,顺便思考了之前项目中的架构的不足,由于最近... 查看全文
0%