01Python基础

2020-09-08  本文已影响0人  Jachin111

问题:给你一个整数n,从1到n按照下面的规则打印每个数:
如果这个数被3整除,打印fizz
如果这个数被5整除,打印buzz
如果这个数同时被3和5整除,打印fizz buzz

样例:
输入n=15
输出:["1","2","fizz","4","buzz","fizz","7","8","fizz","buzz","11","fizz","13","14","fizz buzz"]

class Solution:
    def fizzBuzz(self, n):
        results = []
        for i in range(1, n+1):
            if i % 3 == 0 and i % 5 == 0:
                results.append('fizz buzz')
            elif i % 3 == 0:
                results.append('fizz')
            elif i % 5 == 0:
                results.append('buzz')
            else:
                results.append(str(i))
        return results


s = Solution()
print(s.fizzBuzz(15))
class Solution:
    def fizzBuzz(self, n):
        return ['fizz buzz' if i % 3 == 0 and i % 5 == 0 else 'fizz' if i % 3 == 0 else 'buzz' if i % 5 == 0 else str(i) for i in range(1, n + 1)]


s = Solution()
print(s.fizzBuzz(15))

翻转3位数字

样例:
123得到321
900得到9

class Solution:
    def reverseInteger(self, number):
        c = number % 10
        b = number // 10 % 10
        a = number // 100
        return c * 100 + b * 10 + a


s = Solution()
print(s.reverseInteger(123))
class Solution:
    def reverseInteger(self, number):
        return int(str(number)[::-1])


s = Solution()
print(s.reverseInteger(123))

求3个整数中最大的一个数

样例:
num1=1,num2=9,num3=3,return=9

class Solution:
    def maxOfThreeNumbers(self, num1, num2, num3):
        if num1 > num2 and num1 > num3:
            return num1
        elif num2 > num3:
            return num2
        else:
            return num3


s = Solution()
print(s.maxOfThreeNumbers(1, 9, 3))
class Solution:
    def maxOfThreeNumbers(self, num1, num2, num3):
        max_value = num1
        if num2 > max_value:
            max_value = num2
        if num3 > max_value:
            max_value = num3
        return max_value


s = Solution()
print(s.maxOfThreeNumbers(1, 9, 3))

求方程的根

import math


class Solution:
    def rootOfEquation(self, a, b, c):
        if b * b - 4 * a * c < 0:
            return []
        if b * b - 4 * a * c == 0:
            return [-b / (2.0 * a)]
        delta = math.sqrt(b * b - 4 * a * c)
        return sorted([(-b - delta) / (2.0 * a), (-b + delta) / (2.0 * a)])


s = Solution()
print(s.rootOfEquation(1, -3, 2))

线性数据结构

字符串转整数

class Solution:
    def stringToInteger(self, str):
        sig = 1
        start = 0
        if str[0] == '-':
            sig = -1
            start = 1
        num = 0
        for idx in range(start, len(str)):
            num = num * 10 + ord(str[idx]) - ord('0')
        return num * sig


s = Solution()
print(s.stringToInteger('-123'))

旋转字符串

class Solution:
    def rotateString(self, str, offset):
        if offset > len(str) and len(str) > 0:
            offset = offset % len(str)

        tenp = (str * 2)[len(str) - offset:2 * len(str) - offset]
        for idx in range(len(str)):
            str[idx] = tenp[idx]
        return str


s = Solution()
print(s.rotateString(list('abcdefg'), 3))

给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度

class Solution:
    def removeElement(self, A, elem):
        A_count, i = 0, 0
        while i < len(A):
            if A[i] == elem:
                A.pop(i)
                A_count = A_count + 1
            else:
                i = i + 1
        return len(A)


s = Solution()
print(s.removeElement([1, 2, 3, 1, 4], 1))
上一篇 下一篇

猜你喜欢

热点阅读