前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ARTS第四周

ARTS第四周

作者头像
zx钟
发布2019-07-18 21:52:11
4140
发布2019-07-18 21:52:11
举报
文章被收录于专栏:测试游记

Algorithm主要是为了编程训练和学习。每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard)。进行编程训练,如果不训练你看再多的算法书,你依然不会做算法题,看完书后,你需要训练。关于做Leetcode的的优势,你可以看一下我在coolshell上的文章 Leetcode 编程训练 - 酷 壳 - CoolShell。 Review:主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手。所以,需要你阅读并点评至少一篇英文技术文章,我个人最喜欢去的地方是http://Medium.com 以及各个公司的技术blog,如Netflix的。 Tip:主要是为了总结和归纳你在是常工作中所遇到的知识点。学习至少一个技术技巧。你在工作中遇到的问题,踩过的坑,学习的点滴知识。 Share:主要是为了建立你的影响力,能够输出价值观。分享一篇有观点和思考的技术文章。

Algorithm

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

代码语言:javascript
复制
字符          数值
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:

代码语言:javascript
复制
输入: "III"
输出: 3

示例 2:

代码语言:javascript
复制
输入: "IV"
输出: 4

示例 3:

代码语言:javascript
复制
输入: "IX"
输出: 9

示例 4:

代码语言:javascript
复制
输入: "LVIII"
输出: 58
解释: L = 50, V= 5, III = 3.

示例 5:

代码语言:javascript
复制
输入: "MCMXCIV"
输出: 1994
解释: M = 1000, CM = 900, XC = 90, IV = 4.
代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试游记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Algorithm
  • Review
  • Tip
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档