算法:罗马数字转换为整数,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:
- Ican be placed before- V(5) and- X(10) to make 4 and 9.
- Xcan be placed before- L(50) and- C(100) to make 40 and 90.
- Ccan be placed before- D(500) and- M(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】协议,转载请保留原文出处及本版权声明。












 
    
评论