ARTS 07 - 如何不靠运气变得富有

Posted by Calvin on 2020-07-05

前言:什么是ARTS?

ARTS 源于耗子叔在极客时间的专栏《左耳听风》打卡活动。

Algorithm:每周至少做一个 Leetcode 的算法题。主要是为了编程训练和学习。

Review:阅读并点评至少一篇英文技术文章。主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手。

Tip:学习至少一个技术技巧。主要是为了总结和归纳你在日常工作中所遇到的知识点。

Share:分享一篇有观点和思考的技术文章。主要是为了建立你的影响力,能够输出价值观。

Algorithm

13. 罗马数字转整数

罗马数字包含以下七种字符: IVXLCDM

字符 数值
I 1
V 5
X 10
L 50
C 100
D 500
M 1000

例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II

通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

  • I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
  • X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
  • C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。

给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。

示例 1:

输入: "III"
输出: 3

示例 2:

输入: "IV"
输出: 4

示例 3:

输入: "IX"
输出: 9

示例 4:

输入: "LVIII"
输出: 58
解释: L = 50, V= 5, III = 3.

示例 5:

输入: "MCMXCIV"
输出: 1994
解释: M = 1000, CM = 900, XC = 90, IV = 4.

Python 实现:

class Solution:
def romanToInt(self, s: str) -> int:
Roman2Int = {'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}
Int = 0
n = len(s)
for index in range(n - 1):
if Roman2Int[s[index]] < Roman2Int[s[index + 1]]:
Int -= Roman2Int[s[index]]
else:
Int += Roman2Int[s[index]]
return Int + Roman2Int[s[-1]]

解题思路

Review

Web Extension API 介绍(英文)

6 月 22 日的 WWDC 大会中,苹果宣布 Safari 浏览器会使用 Web Extensions API 支持浏览器插件。这意味着只要使用这个 API,你的插件就可以同时在 Firefox,Chrome,Opera 、Edge 和 Safari 中运行。这里还有 MDN 上面的 API 教程

Apple WWDC 2020 对 Web 开发者的意义(英文)

刚刚举行的苹果开发者大会,公布了几个对 Web 开发者会产生影响的决定,比如 Safari 开始支持插件,并且插件可以在苹果商店出售,以及允许网站使用 FaceID 和 TouchID 进行用户认证。

Tip

如何强制修改 GitLab 账号密码

gitlab-rails console production
user = User.where(id: 1).first
user.password=‘12345678’
user.password_confirmation=‘12345678’
user.save!
quit

Share

How to Get Rich: Every Episode

如何不靠运气变得富有(中文)

Naval 是美国风险投资家,这是他的3小时长播客《如何不靠运气变得富有》的中文翻译,介绍了他的财富观,主要内容如下,非常推荐阅读。

  1. 追求财富,而不是金钱或地位
  2. 为世界创造更多
  3. 自由市场是人类固有
  4. 致富与运气无关
  5. 你必须有点异乎寻常,才能独自走在前沿
  6. 出租时间不会让你变得富有
  7. 我们应该升级自己的自由,而不是生活方式
  8. 给社会提供它不知道如何获得的东西
  9. 互联网极大地丰富了职业发展的可能性
  10. 寻找财富游戏中的长期战友
  11. 选择智慧、精力充沛和正直的合作伙伴
  12. 与理性的乐观主义者合作
  13. 用特殊技能(Specific knowledge)武装自己
  14. 特殊技能(specific knowledge)极富创造性或技术性
  15. 学会销售,学会建造
  16. 阅读你所热爱的内容,直到你爱上阅读
  17. 数学和逻辑才是一切事物的基础
  18. 没有被称为“商业”的技能
  19. 勇敢承担责任才能获得影响力
  20. 冷静的头脑,健康的身体,充满爱的家庭
  21. 没有什么快速致富的方法
  22. 产品化你自己
  23. 找到让你富有、健康和有创造力的爱好

好内容推荐

PRODUCT THINKING · 产品沉思录精选