ARTS 第四周
Jun 27, 2020
Algorithm
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
1
2 输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
思路
最近周围好几个同学在面试某厂时都碰到这道题,虽然简单但要在规定时间内跑通还是对细节有点要求的。思路比较简单就直接写解答吧。
解答
1 | struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){ |
Review
本文出自微软,介绍了使用 MVVM 设计模式的动机,MVVM 是什么及其优势有哪些。
MVVM 提供分离的概念,将应用的逻辑与视图清晰的分开有助于测试和维护,并使代码更易复用。数据的绑定为 View 和 ViewModel之间提供了联系。同时它让开发设计工作流和测试更加容易。
MVVM 的三个核心组成分别为:model
、view
、viewModel
,文中将三者的作用及相互间的交互模式介绍的比较清晰。其中viewModel
可视作view
与model
的中间人。
最后文中罗列了使用 MVVM 的优势有哪些,虽然 Windows Phone 已离我们远去,但毕竟 MVVM 是在微软诞生的,本文还是值得一看。
另外,与 iOS 中由 MVC 演化而来的 MVVM 还是有些区别的。
Tip
本周主要在处理业务代码,未能总结到 Tip ,惭愧惭愧。
Share
5 Things to Know About Reactive Programming
本文从五个方面介绍了理解响应式编程的要点,并用最流行的相应式框架 Rx 进行举例说明。
响应式编程的核心是处理异步的数据流,数据流可分为“冷”和“热”两种,理解两者的区别十分重要。另外对异步的理解和代码的简洁和可读性的重视也是应该考虑的。最后文章梳理了响应式编程和响应式系统的区别。