zoukankan      html  css  js  c++  java
  • 【100Days of 100 line Code】3 day

    今天事情比较多,晚上临时刷了几道水题。基本上用一些小技巧就可以AC的,没有什么太大的难度

    第三天了

    LeetCode #7 反转整数

    class Solution:
        def reverse(self, x):
            """
            :type x: int
            :rtype: int
            """
            if x > 0:
                x = Solution.handle_x(x)
            else :
                x = 0 - Solution.handle_x(abs(x))
            return x
    
        def handle_x(x):
            x = str(x)
            x = x[::-1]
            x = int(x)
            if x > 2**31-1 or x< - 2**31 :
                return 0
            return x

    LeetCode #9回文数

    class Solution:
        def isPalindrome(self, x):
            """
            :type x: int
            :rtype: bool
            """
            x = str(x)
            if x == x[::-1]:
                return True
            else :
                return False
            

    LeetCode #12整数转罗马数字

    class Solution:
        def intToRoman(self, num):
            """
            :type num: int
            :rtype: str
            """
            r = ''
            romannum ={
                1:'I',
                5:'V',
                10:'X',
                50:'L',
                100:'C',
                500:'D',
                1000:'M'
            }
            if num >= 1000 != 0:
                    n = num // 1000
                    r = r + Solution.addstr(romannum[1000],n)
                    num = num - n*1000
            if num >= 900 : 
                    r = r + romannum[100] + romannum[1000]
                    num = num - 900
            if num >= 500 :
                    r = r + romannum[500]
                    num = num - 500
            if num >= 100 :
                n = num // 100
                if n == 4 :
                        r = r + romannum[100] + romannum[500]
                else :
                        r = r + Solution.addstr(romannum[100],n)
                num = num - n * 100
            if num >= 90 :
                    r = r + romannum[10] + romannum[100]
                    num = num - 90
            if num >= 50 :
                    r = r + romannum[50]
                    num = num - 50
            if num >= 10 :
                n = num // 10
                if n == 4:
                        r = r + romannum[10] + romannum[50]
                else :
                        r = r + Solution.addstr(romannum[10],n)
                num = num - n * 10
            if num == 9 :
                    r = r + romannum[1] + romannum[10]
                    num = 0
            if num >= 5  :
                    r = r + romannum[5]
                    num = num - 5
            if num == 4 :
                    r = r + romannum[1] + romannum[5]
                    num = 0
    
            r = r + Solution.addstr(romannum[1],num)
            
            return r
    
        def addstr(strget,n):
            z = ''
            for i in range(n):
                z += strget
            return z

    LeetCode #35 搜索插入位置

    class Solution:
        def searchInsert(self, nums, target):
            if nums[-1] < target :
                return len(nums)
            elif nums[0] > target :
                return 0
            else :
                for i in range(len(nums)):
                    if nums[i] == target:
                        return i 
                    elif nums[i] < target and nums[i+1] >target :
                        return i+1
  • 相关阅读:
    [模板] 循环数组的最大子段和
    [最短路][几何][牛客] [国庆集训派对1]-L-New Game
    [洛谷] P1866 编号
    1115 Counting Nodes in a BST (30 分)
    1106 Lowest Price in Supply Chain (25 分)
    1094 The Largest Generation (25 分)
    1090 Highest Price in Supply Chain (25 分)
    树的遍历
    1086 Tree Traversals Again (25 分)
    1079 Total Sales of Supply Chain (25 分 树
  • 原文地址:https://www.cnblogs.com/mygzhh/p/9302670.html
Copyright © 2011-2022 走看看