ARTS第四周

Algorithm主要是为了编程训练和学习。每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard)。进行编程训练,如果不训练你看再多的算法书,你依然不会做算法题,看完书后,你需要训练。关于做Leetcode的的优势,你可以看一下我在coolshell上的文章 Leetcode 编程训练 - 酷 壳 - CoolShell。

Review:主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手。所以,需要你阅读并点评至少一篇英文技术文章,我个人最喜欢去的地方是http://Medium.com(需要梯子)以及各个公司的技术blog,如Netflix的。

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

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

Algorithm

罗马数字包含以下七种字符: 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.
class Solution:
    def romanToInt(self, s: str) -> int:
        data = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}
        num = 0
        for i in range(len(s)):
            if i < len(s) - 1 and data[s[i]] < data[s[i + 1]]:
                num -= data[s[i]]
            else:
                num += data[s[i]]
        return num
  1. 首先使用字典来列出字符串对应的数字大小
  2. 假设每一位都代表一个数字,那么肯定是按照映射关系从大到小排列。
  3. 实际上存在两个字母组成的内容,且两者的差值为较小值

所以只要遍历输入的字符串,当它不是最后一位的时候判断一下它是否小于它的后一位。

  • 如果小于,则总数减去它;

  • 如果大于,则总数加上它;

Review

Time Is Your Most Valuable Resource

Make sure everything you do is helping you achieve your most important goals

If you have a hard time saying no, or a hard time prioritizing your tasks, you are guaranteed to drown.

Your time is your most valuable resource. You can’t make more. You can’t pause it. You can only allocate it.

Realize that business as usual won’t work

Delegating is a gift with two recipients.

You get more time, and someone else gains valuable experience.

It has limited return on investment, because you’re swapping one item for another.

子弹笔记

Tip

正在阅读《Jenkins 2 权威指南》准备使用Jenkinsfile来进行流水线代码迭代

期望解决之前每次更新都需要手动调整代码,修改WEB GUI上的内容的情况。

不过采用Json Schema编写的了Extended Choice Parameter后,暂时不知道如何进行脚本化的转换。

Extended Choice Parameter

Share

  • 最近很喜欢前端知识,但是没有太多精力投入,实现了一个简单的例子

https://mp.weixin.qq.com/s?__biz=MzU5NTI3NDcxOA==&mid=2247484059&idx=1&sn=8015e0ecf23317b0625bc097dd3bc4f6&chksm=fe753c2ac902b53cea319c91f9ddb41420fabae35abbc5f34075abd6b6525891efdc400abb66#rd

  • 工作采用pytest,所以之前阅读了元组之后想要试验一下python代码块的概念,写了一个简单的demo

https://mp.weixin.qq.com/s?__biz=MzU5NTI3NDcxOA==&mid=2247484046&idx=1&sn=eb11f5f5b6f5842c254eeb53ea89e6bb&chksm=fe753c3fc902b529297842df0b2d65de602eb3c2cb656c0f319624942b77ed939d8ab9b057a7#rd

欢迎关注我的公众号:zx94_11

你可能感兴趣的:(ARTS第四周)