数论Leetcode204. 计数质数、Leetcode858. 镜面反射、Leetcode952. 按公因数计算最大组件大小

Leetcode204. 计数质数

题目

给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。

代码

class Solution:def countPrimes(self, n: int) -> int:if n < 2:return 0prime_arr = [1 for _ in range(n)]prime_arr[0], prime_arr[1] = 0, 0ls = list()for i in range(2, n):if prime_arr[i]:ls.append(i)length = len(ls)for j in range(length):if i * ls[j] > n:breakprime_arr[i * ls] = 0return sum(prime_arr)

Leetcode858. 镜面反射

题目

有一个特殊的正方形房间,每面墙上都有一面镜子。除西南角以外,每个角落都放有一个接受器,编号为 0, 1,以及 2。

正方形房间的墙壁长度为 p,一束激光从西南角射出,首先会与东墙相遇,入射点到接收器 0 的距离为 q 。

返回光线最先遇到的接收器的编号(保证光线最终会遇到一个接收器)。
在这里插入图片描述

代码

class Solution:def mirrorReflection(self, p: int, q: int) -> int:# 两个都是偶数要约分while not p & 1 and not q & 1:p >>= 1q >>= 1# p为偶数if not p & 1:return 2# p为奇数,q为偶数if not q & 1:return 0# p为奇数,q为奇数return 1

Leetcode952. 按公因数计算最大组件大小

题目

给定一个由不同正整数的组成的非空数组 nums ,考虑下面的图:

  • 有 nums.length 个节点,按从 nums[0] 到 nums[nums.length - 1] 标记;
  • 只有当 nums[i] 和 nums[j] 共用一个大于 1 的公因数时,nums[i] 和 nums[j]之间才有一条边。

返回 图中最大连通组件的大小 。

代码

class Solution:def largestComponentSize(self, nums: List[int]) -> int:n = max(nums) + 1# 欧拉筛prime_arr = [1 for _ in range(n)]prime_arr[0], prime_arr[1] = 0, 0ls = []for i in range(2, int(math.sqrt(n) + 1)):if prime_arr[i]:ls.append(i)length = len(ls)for j in range(length):if i * ls[j] > n - 1:breakprime_arr[i * ls[j]] = 0if i % ls[j] == 0:break# 初始化并查集parent = [i for i in range(n)]def find(x):if parent[x] != x:parent[x] = find(parent[x])return parent[x]def union(a, b):parent_a, parent_b = find(a), find(b)if parent_a != parent_b:parent[parent_a] = parent_bfor i, num in enumerate(nums):quotient = numk = len(ls)# 遍历所有质数并且这些质数的平方和不能大于当前numfor j in range(k):if ls[j] * ls[j] <= quotient and not quotient % ls[j]:union(num, ls[j])# while not quotient % ls[j]:quotient //= ls[j]if quotient > 1:union(num, quotient)ans = 0count = [0 for _ in range(n)]for num in nums:parent_num = find(num)count[parent_num] += 1ans = max(ans, count[parent_num])return ans

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/650792.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python编程 从入门到实践(项目二:数据可视化)

本篇为实践项目二&#xff1a;数据可视化。 配合文章python编程入门学习&#xff0c;代码附文末。 项目二&#xff1a;数据可视化 1.生成数据1.1 安装Matplotlib1.2 绘制简单的折线图1.2.1 修改标签文字和线条粗细1.2.2 校正图形1.2.3 使用内置样式1.2.4 使用scatter()绘制散点…

点云格式-PCD格式介绍

PCD格式介绍 一、概述二、PCD 版本三、文件格式头信息四、数据存储格式类型五、优于其他文件格式的优点六、例子 一、概述 PCD文件格式是PCL库最常用的一种数据格式、也是其提供的一个独有的数据格式&#xff0c;PCD文件格式并不是要重新发明轮子&#xff0c;而是为了补充现有的…

59.螺旋矩阵II(力扣LeetCode)

59.螺旋矩阵II 题目描述 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]] 示例 2&#xff1a; 输…

【测试】测试用例场景设计

专注 文章目录 用例设计公式登录测试用例测试用例设计思路购物车测试用例水杯设计测试用例发红包测试用例1. 正常情况下的测试用例&#xff1a;2. 边界情况下的测试用例&#xff1a;3. 异常情况下的测试用例&#xff1a;4. 特殊情况下的测试用例&#xff1a; 微信朋友圈1. 正常…

Django模型(一)

一、介绍 模型,就是python中的类对应数据库中的表 1.1、ORM ORM 就是通过实例对象的语法,完成关系型数据库的操作的技术,是"对象-关系映射"(Object/Relational Mapping) 的缩写 ORM 把数据库映射成对象 1.2、示例 1.2.1、模型 from django.db import models…

字节跳动员工:5年攒了8400股,价值940W,财富自由的味道

字节跳动员工&#xff1a;5年攒了8400股&#xff0c;价值940W&#xff0c;财富自由的味道 最近&#xff0c;一位字节跳动员工在网络上爆料了他的财富增长故事&#xff0c;引起了广泛关注。这位员工在贴文中自豪地宣布&#xff0c;他加入字节跳动的五年间从未卖出手中的股票&am…

Ultraleap 3Di新建项目之给所有的Joint挂载物体

工程文件 Ultraleap 3Di给所有的Joint挂载物体 前期准备 参考上一期文章&#xff0c;进行正确配置 Ultraleap 3Di配置以及在 Unity 中使用 Ultraleap 3Di手部跟踪 新建项目 初始项目如下&#xff1a; 新建Create Empty 将新建的Create Empty&#xff0c;重命名为LeapPro…

查询redis路径,清除redis缓存

查询redis路径 1、执行ps -ef | grep redis 命令&#xff0c;结果如下&#xff08;记住PID&#xff09; 2、执行ps -u 系统用户名&#xff0c;进一步确定进程id, 我这里的系统用户名是root&#xff0c;执行ps -u root&#xff0c;结果如下&#xff1a; 结合1的操作结果图可知…

qtcreator使用qwt库

先配置好.pro文件&#xff0c;再去ui界面拖拽控件 ui界面会更改配置&#xff0c;故顺序错一个&#xff0c;就凉了&#xff0c;重来吧 准备&#xff1a;库&#xff0c;库头文件 库文件&#xff1a;路径如下 头文件&#xff1a;路径如下 鼠标->右键 &#xff08;有些不用勾…

『OpenCV-Python|鼠标作画笔』

Opencv-Python教程链接&#xff1a;https://opencv-python-tutorials.readthedocs.io/ 本文主要介绍OpenCV-Python如何将鼠标作画笔绘制圆或者矩形。 示例一&#xff1a;图片上双击的位置绘制一个圆圈 首先创建一个鼠标事件回调函数&#xff0c;鼠标事件发生时就会被执行。鼠标…

uni-app 微信小程序之红包雨活动

文章目录 1. 页面效果2. 页面样式代码 1. 页面效果 GIF录屏有点卡&#xff0c;实际比较丝滑 每0.5s掉落一个红包控制4s后自动移除红包点击红包消除红包&#xff08;或者自行1&#xff0c;或者弹窗需求&#xff09; 2. 页面样式代码 <!-- 红包雨活动 --> <template>…

C++中map和set的使用

&#xff08;图片来源于网络&#xff09; &#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;强烈推荐优质专栏: &#x1f354;&#x1f35f;&#x1f32f;C的世界(持续更新中) &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶…

力扣算法-Day20

541. 反转字符串II 给定一个字符串 s 和一个整数 k&#xff0c;从字符串开头算起&#xff0c;每计数至 2k 个字符&#xff0c;就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个&#xff0c;则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个&#xff0c…

【yaml 文件使用】pytest+request 框架中 yaml 配置文件使用

又来进步一点点~~ 背景&#xff1a;最近在学习pytestrequest框架写接口测试自动化&#xff0c;使用yaml文件配置更方便管理用例中的数据&#xff0c;这样更方便 yaml 介绍&#xff1a; 什么是 yaml 文件&#xff1a;YAML 是 “YAML Ain’t a Markup Language”&#xff08;Y…

一、对人工智能大模型了解与认知

黑8说 月黑风高&#xff0c;乌云密布&#xff0c;树木低垂&#xff0c;黯淡沉闷。这黎明前的风暴&#xff0c;预示着新时代的变革即将到来。 在一个8线小城市的办公室中 黑8对主任说&#xff1a; 世界上有男人、女人、人妖&#xff0c;米国有1/3男&#xff0c;2/3女…&#xff…

黑马程序员JavaWeb开发|Maven高级

一、分模块设计与开发 分模块设计&#xff1a; 将项目按照功能拆分成若干个子模块&#xff0c;方便项目的管理维护、扩展&#xff0c;也方便模块间的相互调用&#xff0c;资源共享。 注意&#xff1a;分模块开发需要先对模块功能进行设计&#xff0c;再进行编码。不会先将工…

比较两组相同构造结构的迭代次数

( A, B )---9*50*2---( 1, 0 )( 0, 1 ) 做一个网络分类A和B&#xff0c;让B全是0&#xff0c;让训练集A中只有9张图片&#xff0c;共有4个点。共有16种情况 迭代次数 迭代次数 1 - - - - - - - 1 9252.186 1 1 1 - - - - - - - 49334.66 9 1 - - - …

十款数据可视化工具横评:优缺点大揭秘

作为一位热衷于数据可视化的爱好者&#xff0c;我深知选择一款得心应手的数据可视化工具对于呈现数据的魅力至关重要。在市面上众多的数据可视化工具中&#xff0c;我精选了十款备受瞩目的产品&#xff0c;下面就为大家简单介绍一下它们的优缺点&#xff0c;以帮助大家进行选择…

区块空间----流动性铭文

铭文正在改变加密世界&#xff0c;越来越多的人开始关注铭文&#xff0c;并参与进来&#xff01;铭文赛道的未来是非常具有潜力和想象力的&#xff0c;甚至能够达到加密货币的普及水平。当然&#xff0c;这需要更多的基础设施更多的用例支持&#xff0c;但是一切都才刚刚开始。…

数据库之 基础概念、安装mysql、sql语句基础

数据库之 基础概念、安装mysql、sql语句基础 【一】存储数据的演变过程&#xff1a; 文件存储&#xff1a; 初始阶段随意存放数据到文件&#xff0c;格式任意。目录规范引入&#xff1a; 软件开发使用目录规范&#xff0c;限制数据位置&#xff0c;建立专门文件夹。本地数据存…