ARTS-week10
Posted felixqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARTS-week10相关的知识,希望对你有一定的参考价值。
Algorithm
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
class Solution:
# 解1,时间复杂度O(n)
def isPalindrome1(self, x: int) -> bool:
return str(x) == str(x)[::-1]
# 解2,时间复杂度O(log10(n))
def isPalindrome2(self, x: int) -> bool:
if x < 0 or (x % 10 == 0 and x != 0):
return False
revertedNumber = 0
while x > revertedNumber:
revertedNumber = x % 10 + revertedNumber * 10
x //= 10
return (x == revertedNumber // 10) or (x == revertedNumber)
罗马数字包含以下七种字符:?I,?V,?X,?L,C,D?和?M。
给定一个罗马数字,将其转换成整数。输入确保在 1?到 3999 的范围内。
Roman to Integer
class Solution:
# 解1,时间复杂度O(n)
def romanToInt(self, s: str) -> int:
roman_dir = {"I":1,"V":5,"X":10,"L":50,"C":100,"D":500,"M":1000}
sum = roman_dir[s[-1]]
for i in range(len(s)-1):
if roman_dir[s[i]] >= roman_dir[s[i+1]]:
sum += roman_dir[s[i]]
else:
sum -= roman_dir[s[i]]
return sum
Review
作者将学习VIM分成4个阶段,分别是
- Survive
- Feel comfortable
- Feel Better, Stronger, Faster
- Use superpowers of vim
从浅入深,非常适合用于学习vim用,按照作者的话说,“
By the end of this journey, you’ll become a vim superstar.”:)
Tip
学习了一种更加强大的断言方式,harcrest。相比于unittest/pytest 更加强大灵活。
常用的几个断言如下:
- equalTo:判断相等
- closeTo:接近于多少
- anyOf:后面可跟上多个匹配器,只要其中任何一个满足条件就通过
- allOf:后面可跟上多个匹配器,只要其中任何一个不满足条件都不通过
官方文档:PyHamcrest
Share
PageObject
Martin Fowler在2013年就提出了PO模式,现在来看这篇文章仍不显得过时。
以上是关于ARTS-week10的主要内容,如果未能解决你的问题,请参考以下文章