算法:罗马数字转换为整数,RxSwift 的好处,git pull 问题解决 error: cannot lock ref,产品经理新人如何落地 John 易筋 ARTS 打卡 Week 34
1. Algorithm: 每周至少做一个 LeetCode 的算法题
笔者的文章:
算法:罗马数字转换为整数13. Roman to Integer
LeetCode 全集请参考:LeetCode Github 大全
算法
Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M.
For example, 2
is written as II
in Roman numeral, just two one's added together. 12
is written as XII
, which is simply X + II
. The number 27
is written as XXVII
, which is XX + V + II
.
Roman numerals are usually written largest to smallest from left to right. However, the numeral for four is not IIII
. Instead, the number four is written as IV
. Because the one is before the five we subtract it making four. The same principle applies to the number nine
, which is written as IX
. There are six
instances where subtraction is used:
I
can be placed beforeV
(5) andX
(10) to make 4 and 9.X
can be placed beforeL
(50) andC
(100) to make 40 and 90.C
can be placed beforeD
(500) andM
(1000) to make 400 and 900.
Given a roman numeral, convert it to an integer.
Example 1:
Example 2:
Example 3:
Example 4:
Example 5:
Constraints:
s contains only the characters ('I', 'V', 'X', 'L', 'C', 'D', 'M')
.
It is guaranteed that s is a valid roman numeral in the range [1, 3999]
.
Map 记录解法
先用 map 记录对应的 char 和数字。
如果前一个字母比后一个字母小,则说明是减法。
最后一个字母累加即可。
2. Review: 阅读并点评至少一篇英文技术文章
Why should we use RxSwift
https://github.com/ReactiveX/RxSwift/blob/main/Documentation/Why.md
为什么要用响应式编程,这里面举了很多方便话的例子,比如
请求时候后重试;
全局通知、button 事件等可以优雅在一个链式事件里面;
多个请求的前后依赖管理;
KVO 优雅实现
好处
简而言之,使用 Rx 将使您的代码:
可组合<-因为 Rx 是组合的昵称
可重用<-因为可组合
声明性<-因为定义是不可变的,并且仅数据发生更改
可理解,简洁<-提升抽象水平并消除瞬态
稳定<-因为 Rx 代码已经过全面的单元测试
状态较少-因为将应用程序建模为单向数据流
没有泄漏<-因为资源管理容易
3. Tips: 学习至少一个技术技巧
笔者的文章:
git pull问题解决error: cannot lock ref
问题
在git pull
的时候报错error: cannot lock ref
解决方案
运行如下命令解决
解析:这将删除文件夹中对远程分支的引用.git/refs/remotes/origin。因此,这不会影响您的本地分支机构,也不会更改任何远程对象,但会更新您对远程分支机构的本地引用。在某些情况下,这些引用可能包含 Git 无法正确处理的数据。
参考
https://stackoverflow.com/questions/6656619/git-and-nasty-error-cannot-lock-existing-info-refs-fatal
4. Share: 分享一篇有观点和思考的技术文章
笔者的文章:
说明
讲师:邱岳(二爷)
分享提纲
产品信任有效落地
产品经理落地的目标
产品新人的落地态度
具体的工具和方法
产品训练营大纲
平稳落地很重要
针对一线战斗型产品经理,其它岗位可能也使用;
首因效应(Primacy Effect);
互联网公司贴标签的速度非常快,撕标签的速度非常慢;
新手红利期对产品尤其重要
产品经理落地的目标
熟悉业务:信任用在 3 个月内问各种不懂的问题。如果超过太长时间,如果对业务还不熟悉,会被贴业务能力差的标签。
建立信任的重要性:如果所有事情都公事公办,很难做成大事。所以互相信任很重要。
熟悉利益:努力成为 Giver,事情更好往前推动,帮助到别人,自己也容易获得收益。
产品经理落地的工作态度
严于律己,宽于待人。
确定自己的风格和边界(标签)。
不要傲慢,存在即合【理】,找出这个【理】,但不一定认同它。
不提当年勇,不要侃侃而谈。
集中快速有效解决所有【蠢问题】。
产品信任落地的方法和手段
一定要有【有型产出物】
个体决策与群体决策的差异。
* 市场规模越大,越偏向于 To C,市场规模越小,越偏向于服务业。
* 法人不是人,不能想当然。
方法和手段
极客大学产品经理训练营大纲
版权声明: 本文为 InfoQ 作者【John(易筋)】的原创文章。
原文链接:【http://xie.infoq.cn/article/46843073876086f7bf836cd64】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论