当前位置: 首页 > article >正文

python 2024-10

第七课

204. 计数质数

语法:while else,continue break 埃氏筛 数的倍数不是素数。

class Solution:
    def countPrimes(self, n: int) -> int:
        res = 0
        for i in range(2, n):
            for j in range(2, i):
                if i % j == 0:
                    break
            else:
                res += 1
        return res

优化

class Solution:
    def countPrimes(self, n: int) -> int:
        num_list = [1] * n
        res = 0
        for i in range(2, n):
            if not num_list[i]: continue
            res += 1
            for j in range(2 * i, n, i):
                num_list[j] = 0

        return res

263. 丑数

class Solution:
    def isUgly(self, n: int) -> bool:
        if n <= 0: return False
        factors = [2, 3, 5]
        for fac in factors:
            while n % fac == 0:
                n //= fac
        return n == 1

第八课

412. Fizz Buzz

class Solution:
    def fizzBuzz(self, n: int) -> List[str]:
        res = [''] * 列表包含 n # n 个 空串
        # res = []
        for i in range(1, n + 1):
            if i % 15 == 0: x = "FizzBuzz" # 先处理 15 的倍数
            elif i % 3 == 0: x = "Fizz"
            elif i % 5 == 0: x = "Buzz"
            else: x = str(i) # 转换成字符串
            res[i - 1] = x
            # res.append(x)
        return res

        # return ['Fizz'[i%3*4:]+"Buzz"[i%5*4:] or str(i) for i in range(1, n+1)]

2239. 找到最接近 0 的数字

class Solution:
    def findClosestNumber(self, nums: List[int]) -> int:
        ans = inf
        for x in nums:
            if abs(x) == abs(ans): ans = max(x, ans)
            elif abs(x) < abs(ans):  ans = x                
        return ans

3289. 数字小镇中的捣蛋鬼

标记法

class Solution:
    def getSneakyNumbers(self, nums: List[int]) -> List[int]:
        res = [0, 0]
        n = len(nums)
        i = 0
        for x in nums:
            x %= n
            if nums[x] >= n:
                res[i] = x
                i += 1
                if i == 2: break
            nums[x] += n
        return res

2432… 处理用时最长的那个任务的员工

class Solution:
    def hardestWorker(self, n: int, logs: List[List[int]]) -> int:
        ans = pre = most = 0
        for i, t in logs: 
            dif = t - pre
            pre = t
            if most < dif or most == dif and ans > i:
                ans = i
                most = dif

        return ans

http://www.kler.cn/a/319499.html

相关文章:

  • Axure设计之文本编辑器制作教程
  • Elasticsearch 实战应用:高效搜索与数据分析
  • 新版 idea 编写 idea 插件时,启动出现 ClassNotFound
  • qt QKeySequence详解
  • 如何用C#和Aspose.PDF实现PDF转Word工具
  • 网站小程序app怎么查有没有备案?
  • Angular面试题八
  • 13.第二阶段x86游戏实战2-动态模块地址
  • Unicode编码如何转换为汉字
  • DAY78服务攻防-数据库安全RedisCouchDBH2database未授权访问CVE 漏洞
  • 仓颉编程入门2,启动HTTP服务
  • 基于数据挖掘的航空客户满意度分析预测系统
  • 安卓系统常见问题如native crash,卡顿卡死定位工具命令技巧-android framework实战开发
  • Java_Day05学习
  • 搜维尔科技:通过xsens动作捕捉为影视角色注入生命
  • 前端框架的对比和选择
  • MySQL备份与恢复详解
  • Anaconda/Miniconda的删除和安装
  • rapidocr 提取汇总
  • 可以写自动化测试工具的AI工具
  • [笔记]交流接触器
  • UR机器人坐标系转化
  • C++系列-Stackqueue
  • Qt中多语言的操作(以QtCreator为例)
  • Android个性名片界面的设计——约束布局的应用
  • 「iOS」——单例模式