Python每日一练(20230413) 最后一个单词长度、全排列、计数质数

简介: Python每日一练(20230413) 最后一个单词长度、全排列、计数质数

1. 最后一个单词的长度

给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

示例 1:

输入:s = "Hello World"

输出:5

示例 2:

输入:s = " "

输出:0

提示:

  • 1 <= s.length <= 104
  • s 仅有英文字母和空格 ' ' 组成

出处:

https://edu.csdn.net/practice/25454310

代码:

class Solution(object):
    def lengthOfLastWord(self, s):
        """
        :type s: str
        :rtype: int
        """
        if len(s) == 0:
            return 0
        temp = s.split(' ')
        temp = [t for t in temp if len(t) > 0]
        if len(temp) == 0:
            return 0
        else:
            return len(temp[-1])
# %%
s = Solution()
print(s.lengthOfLastWord(s = "  Hello World  "))

输出:

5


2. 全排列

给定一个 没有重复 数字的序列,返回其所有可能的全排列。

示例:

输入: [1,2,3]

输出:[[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]

出处:

https://edu.csdn.net/practice/25454311

代码:

class Solution:
     def permute(self, nums):
            e=[]
            if(len(nums)==1):
                return [nums]
            for i in range(len(nums)):
                q=self.permute(nums[:i]+nums[i+1:])
                for c in q:
                    e.append([nums[i]]+c)
            return e
# %%
s = Solution()
print(s.permute(nums = [1,2,3]))

输出:

[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]


3. 计数质数

统计所有小于非负整数 n的质数的数量。

示例 1:

输入:n = 10

输出:4

解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。


示例 2:

输入:n = 0

输出:0


示例 3:

输入:n = 1

输出:0


提示:

  • 0 <= n <= 5 * 10^6

出处:

https://edu.csdn.net/practice/25454312

代码:

class Solution:
    def countPrimes(self, n: int) -> int:
        is_prime = [1] * n
        count = 0
        for i in range(2, n):
            if is_prime[i]:
                count += 1
                for j in range(i * i, n, i):
                    is_prime[j] = 0
        return count
# %%
s = Solution()
print(s.countPrimes(n = 10))
print(s.countPrimes(n = 0))
print(s.countPrimes(n = 1))

输出:

4

0

0


🌟 每日一练刷题专栏 🌟

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力!

🌟 收藏,你的青睐是我努力的方向!

评论,你的意见是我进步的财富!  

主页:https://hannyang.blog.csdn.net/


目录
相关文章
|
2月前
|
Python
Python - 获取 100 以内的质数
Python - 获取 100 以内的质数
|
2月前
|
Python
Python实用记录(十一):出现科学计数法如何在代码中恢复
本文介绍了如何在Python中处理科学计数法,包括如何将科学计数法转换为普通数字,以及如何设置NumPy的print选项来避免科学计数法的显示。
70 1
|
2月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
54 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
2月前
|
数据可视化 数据挖掘 数据处理
Python实现数字按三角形排列
Python实现数字按三角形排列
27 4
|
2月前
|
算法 数据挖掘 Python
Python 实现数字按照三角形排列详解
Python 实现数字按照三角形排列详解
135 0
|
2月前
|
小程序 IDE 开发工具
Python编写单词复习小程序
Python编写单词复习小程序
19 0
|
3月前
|
数据可视化 数据挖掘 数据处理
Python实现数字按三角形排列
Python实现数字按三角形排列
30 0
|
4月前
|
算法 JavaScript Python
【Leetcode刷题Python】79. 单词搜索和剑指 Offer 12. 矩阵中的路径
Leetcode第79题"单词搜索"的Python解决方案,使用回溯算法在给定的二维字符网格中搜索单词,判断单词是否存在于网格中。
55 4
|
4月前
|
Python
【Leetcode刷题Python】生词本单词整理
文章提供了一个Python程序,用于帮助用户整理和排版生词本上的单词,包括去除重复单词、按字典序排序,并按照特定的格式要求进行打印排版。
48 3
|
4月前
|
监控 Java 数据处理
Python内存管理:引用计数与垃圾回收
Python内存管理:引用计数与垃圾回收
51 0