ARTS-week10

Posted felixqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARTS-week10相关的知识,希望对你有一定的参考价值。

Algorithm

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

Palindrome Number

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

Learn Vim Progressively

作者将学习VIM分成4个阶段,分别是

  1. Survive
  2. Feel comfortable
  3. Feel Better, Stronger, Faster
  4. 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的主要内容,如果未能解决你的问题,请参考以下文章

ARTS-WEEK-002

ARTS-WEEK-002

arts-week2

arts-week6

ARTS-week2

ARTS-week7