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

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每日一练 专栏


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

相关文章:

  • C++算法练习-day40——617.合并二叉树
  • 量化交易系统开发-实时行情自动化交易-3.4.2.2.Okex交易数据
  • WordPress HTTPS 配置问题解决方案
  • C++ 的协程
  • 【大数据测试HBase数据库 — 详细教程(含实例与监控调优)】
  • 【121. 买卖股票的最佳时机】——贪心算法/动态规划
  • sql server 入门教程
  • 知识图谱:Neo4j数据库的基本使用——创建张学良的关系谱
  • 安全防御第四天:防病毒网关
  • 基于目标级联法的微网群多主体分布式优化调度(Matlab代码实现)
  • 花了近三周时间对 ChatGPT 进行多方面了解、体验后写的报告,超级全面,建议想了解的朋友看看
  • Spring 源码分析(二)——GenericBeanDefinition 分析
  • Java知识点学习(第6天)
  • SQL Server的日志传送
  • 高效管理 Linux 进程:如何后台执行程序、查看进程、终止任务
  • 机器学习-问答题准备(英文)-更新中
  • 用JavaScript实现最大子数组和的动态规划算法
  • Msray-Plus采集工具让您的市场营销更加简单,让您的营销成果更加显著
  • NumPy 秘籍中文第二版:十二、使用 NumPy 进行探索性和预测性数据分析
  • 吐血奉献精心整理的一大波数据集
  • 【C#】程序和sql速度对比
  • 【消息队列】聊一下生产者消息发送流程
  • 7nm舱泊一体SoC的新玩家
  • 三大前端框架Vue, Angular, React
  • 月薪过 3w 的 软件测试工程师 都是怎么做到的?
  • Spring Security 6.0系列【16】授权篇之访问控制