Python每日一练(20230413)
目录
1. 最后一个单词的长度 ※
2. 全排列 🌟🌟
3. 计数质数 ※
🌟 每日一练刷题专栏 🌟
Golang每日一练 专栏
Python每日一练 专栏
C/C++每日一练 专栏
Java每日一练 专栏
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/
Golang每日一练 专栏 | |
Python每日一练 专栏 | |
C/C++每日一练 专栏 | |
Java每日一练 专栏 |