leetcode
口袋里的星星
爱拼才会赢
展开
-
516. 最长回文子序列 1312. 让字符串成为回文串的最少插入次数 动态规划
思路整理自公众号: labuladong给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 。示例 1:输入:"bbbab"输出:4一个可能的最长回文子序列为 "bbbb"。示例 2:输入:"cbbd"输出:2一个可能的最长回文子序列为 "bb"。提示:1 <= s.length <= 1000s 只包含小写英文字母解题思路注意子序列和子串的区别,子串是连续的,子序列是不连续的。这类问题都是让你求一个最原创 2020-09-01 16:05:34 · 596 阅读 · 0 评论 -
113. 二叉树路径总和 II 124. 二叉树中的最大路径和
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[ [5,4,11,2], [5,8,4,5原创 2020-08-31 19:56:27 · 178 阅读 · 0 评论 -
跳台阶 变态跳台阶 斐波那契数列
斐波那契数列1,1,2,3,5,8…递推式为: f(n)=f(n-1)+f(n-2)青蛙跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果。思路青蛙的最后一次跳法只有两种:一阶和二阶,所以 f(n)=f(n-1)+f(n-2),其实就是斐波那契数列,修改一下0,1的元素和输出的数组下标就可以了class Solution: def fib(self, n: int) -> int: if n==原创 2020-08-17 10:33:24 · 237 阅读 · 1 评论 -
背包问题 416. 分割等和子集
常见的背包问题。给你一个可装载重量为W的背包和N个物品,每个物品有重量和价值两个属性。其中第i个物品的重量为wt[i],价值为val[i],现在让你用这个背包装物品,最多能装的价值是多少?举个简单的例子,输入如下:N = 3, W = 4wt = [2, 1, 3]val = [4, 2, 3]算法返回 6,选择前两件物品装进背包,总重量 3 小于W,可以获得最大价值 6。# 0-1背包问题import sys wt = [2, 1, 3]val = [4, 2, 3]N =原创 2020-08-13 20:45:30 · 231 阅读 · 0 评论 -
剑指 Offer 25. 合并两个排序的链表 递归
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路递归:终止条件:两条链表分别名为 l1 和 l2,当 l1 为空或 l2 为空时结束返回值:每一层调用都返回排序好的链表头本级递归内容:如果 l1 的 val 值更小,则将 l1.next 与排序好的链表头相接,l2 同理# Definition for singly-原创 2020-08-10 16:43:44 · 249 阅读 · 0 评论 -
链表翻转 剑指 Offer 24. 反转链表 shopee笔试 234. 回文链表
剑指 Offer 24. 反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000解题思路# Definition for singly-linked list.# class ListNode(object):# def __init__(se原创 2020-08-05 21:05:24 · 209 阅读 · 0 评论 -
shopee笔试 41. 缺失的第一个正数 原地哈希 剑指 Offer 03. 数组中重复的数字
给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1提示:你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。解题思路常规思路:将数组排序再遍历,时间复杂度O(nlogn);或者使用哈希表将所有的值存起来,再从1开始查找,时间复杂度为O(n),空间复杂度为O(n).原地哈希:遍历一次数组把大于等于1和小于等于数组原创 2020-08-05 19:28:00 · 207 阅读 · 1 评论 -
leetcode 重叠区间问题 合并区间 452. 用最少数量的箭引爆气球 435. 无重叠区间
重叠区间问题重叠区间问题可以总结为在坐标轴上若干个位置为 [start(i), end(i)] 的区间,要求求解这些区间中有多少个不重叠区间,或者合并重叠的区间。常见题型:合并区间: leetcode 56(合并区间) leetcode 763(先统计,再合并区间)计算不重叠区间的个数: leetcode 435(不重叠区间个数) leetcode 452(相邻区间视为重叠区间)合并区间问题1、对数列的按首元素排序2、得到初始数列 init=nums[0]3、判断原创 2020-08-05 17:16:47 · 470 阅读 · 0 评论 -
二叉树的层序遍历和蛇形遍历 102. 二叉树的层序遍历 103. 二叉树的锯齿形层次遍历
给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]使用辅助队列# Definition for a binary tree node.# class TreeNode(object):# def __init__(self原创 2020-08-01 22:46:17 · 316 阅读 · 0 评论 -
142. 环形链表 II 环形链表的入口节点
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输原创 2020-07-29 20:19:30 · 215 阅读 · 0 评论 -
141. 环形链表 判断链表是否有环
给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解释:链表中有一个环,其尾部连接到第一个节点。示例 3:输入:head = [1], pos = -1原创 2020-07-29 19:24:38 · 124 阅读 · 0 评论 -
160. 相交链表 判断链表是否有交点 双指针
编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:相交的链表从相交点开始后面的节点全部共用。解题思路双指针。我们通常做这种题的思路是设定两个指针分别指向两个链表头部,一起向前走直到其中一个到达末端,另一个与末端距离则是两链表的 长度差。再通过长链表指针先走的方式消除长度差,最终两链表即可同时走到相交点。# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):原创 2020-07-29 19:03:40 · 182 阅读 · 0 评论 -
1482. 制作 m 束花所需的最少天数
给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。示例 1:输入:bloomDay = [1,10,3,10,2], m = 3, k = 1输出:3解释:让我们一起观察这三天的花开过程,x 表示花开,而 _ 表示花还未开。现原创 2020-07-24 17:17:54 · 227 阅读 · 0 评论 -
字节笔试题 剑指 Offer 43. 1~n整数中1出现的次数
输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。示例 1:输入:n = 12输出:5示例 2:输入:n = 13输出:6限制:1 <= n < 2^31解题思路总体思想就是分类,先求所有数中个位是 1 的个数,再求十位是 1 的个数,再求百位是 1 的个数…假设 n = xyzdabc,此时我们求千位是 1 的个数,也就是 d 所在的位置。那么此时有三种情况,原创 2020-07-23 10:44:52 · 186 阅读 · 1 评论 -
剑指 Offer 11. 旋转数组的最小数字 面试题 10.03. 搜索旋转数组 二分查找
剑指 Offer 11. 旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0解题思路二分查找,注意当numbers[mid]==numbers[right]时无法判断class Solution:原创 2020-07-19 17:45:02 · 188 阅读 · 0 评论 -
剑指 Offer 46. 把数字翻译成字符串 动态规划 回溯
给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"回溯class Solution: def translateNum(self, num: int) -&原创 2020-07-07 15:51:24 · 127 阅读 · 0 评论 -
字节面试题 数组元素的组合 回溯
字节跳动一面算法题求数组中所有元素的组合(比如[1,2,2],组合有[[], [1],[2], [1,2],[2,2],[1,2,2]])很明显使用回溯算法可以解决nums = [1,2,2]nums.sort()res = [[]]def backtrack(nums, temp): # res.append(temp) for i in range(len(nums)): if i>0 and nums[i-1]==nums[i]:原创 2020-07-07 15:42:54 · 158 阅读 · 0 评论 -
69. x 的平方根 二分查找 x为整数和浮点数的情况
实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。解题思路需要向上取整class Solution: def mySqrt(self, x: int) -> int: if x == 0:原创 2020-07-05 16:40:26 · 163 阅读 · 0 评论 -
32. 最长有效括号 栈 动态规划
给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"解题思路class Solution(object): def longestValidParentheses(self, s): """ :type s: str :rtype: int原创 2020-07-04 20:51:25 · 1910 阅读 · 0 评论 -
动态规划 递归 dfs 139. 单词拆分
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet code"。示例 2:输入: s = "applepenapple", wordDict =原创 2020-06-25 11:39:18 · 163 阅读 · 0 评论 -
剑指 Offer 59 - I. 滑动窗口的最大值 单调队列
给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6 7 3 1 3 [-1 -.原创 2020-06-24 11:27:11 · 527 阅读 · 0 评论 -
老鼠试药 信息熵 二进制 458. 可怜的小猪
有 1000 只水桶,其中有且只有一桶装的含有毒药,其余装的都是水。它们从外观看起来都一样。如果小猪喝了毒药,它会在 15 分钟内死去。问题来了,如果需要你在一小时内,弄清楚哪只水桶含有毒药,你最少需要多少只猪?回答这个问题,并为下列的进阶问题编写一个通用算法。进阶:假设有 n 只水桶,猪饮水中毒后会在 m 分钟内死亡,你需要多少猪(x)就能在 p 分钟内找出 “有毒” 水桶?这 n 只水桶里有且仅有一只有毒的桶。提示:可以允许小猪同时饮用任意数量的桶中的水,并且该过程不需要时间。小猪喝完水原创 2020-06-18 10:30:20 · 643 阅读 · 0 评论 -
1014. 最佳观光组合
给定正整数数组 A,A[i] 表示第 i 个观光景点的评分,并且两个景点 i 和 j 之间的距离为 j - i。一对景点(i < j)组成的观光组合的得分为(A[i] + A[j] + i - j):景点的评分之和减去它们两者之间的距离。返回一对观光景点能取得的最高分。示例:输入:[8,1,5,2,6]输出:11解释:i = 0, j = 2, A[i] + A[j] + i - j = 8 + 5 + 0 - 2 = 11提示:2 <= A.length <= 50000原创 2020-06-17 09:32:24 · 133 阅读 · 0 评论 -
单调栈 739. 每日温度 496. 下一个更大元素 I II III
栈具有先进后出的性质,单调栈就是利用一些巧妙的逻辑,是的栈内的元素都保持有序(单调递增或单调递减)739. 每日温度根据每日气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温原创 2020-06-12 20:58:32 · 163 阅读 · 0 评论 -
739. 每日温度 单调栈
根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。解题思路题目的意思是要找到第一个比该天温度高的,求二原创 2020-06-11 10:40:59 · 185 阅读 · 0 评论 -
面试题46. 把数字翻译成字符串
给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"解题思路1、递归将大问题一个一个分解成小问题class Solution: def translate原创 2020-06-09 10:02:51 · 228 阅读 · 0 评论 -
605. 种花问题 2021vivo提前批笔试题
假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则返回False。示例 1:输入: flowerbed = [1,0,0,0,1], n = 1输出: True示例 2:输入: flowerbed = [1,0,0,0,1], n = 2输出: False原创 2020-06-08 22:09:34 · 261 阅读 · 0 评论 -
523. 连续的子数组和
给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入: [23,2,4,6,7], k = 6输出: True解释: [2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入: [23,2,6,4,7], k = 6输出: True解释: [23,2,6,4,7]是大小为 5 的子数组,并且和为 42。解题思路本题要找一个子数组的和是k的整数倍原创 2020-06-08 09:34:28 · 115 阅读 · 0 评论 -
201. 数字范围按位与
给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。示例 1: 输入: [5,7]输出: 4示例 2:输入: [0,1]输出: 0解题思路多个数按位与的过程中,只要有某一位出现了0,那么最终结果的这个位处的数一定为0。在[m, n]这些数里,加1改变的位数是从低到高的,即先改变低位,再改变高位。所以只需要比较最大的数n和最小的数m中从最高位开始完全相同的位,这就说明在递增的过程中+1的原创 2020-06-06 20:46:27 · 217 阅读 · 0 评论 -
394. 字符串解码 栈
给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。示例:s = "3[a]2[bc]", 返回 "aaabcbc".s = "3[a2[c]]"原创 2020-05-28 11:22:01 · 167 阅读 · 0 评论 -
前缀和 560. 和为K的子数组 974. 和可被 K 整除的子数组
和为K的子数组给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。解题思路误区:不要等计算完全部前缀和再去重新遍历查找是否有符合条件的,这样会有问题,比如k=0时,the_sum - k 一直等于the_sum,就算the_sum只有一个,结果的数量也会增加一,所以这样不对。应该每计算一个前缀和就在哈希表中进行查找,这样就不会查找到自己本身.原创 2020-05-27 09:35:57 · 210 阅读 · 0 评论 -
287. 寻找重复数 二分法
给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2) 。数组中只有一个重复的数字,但它可能不止重复出现一次。解题思路如果没有限制,可以采用哈希表,或者对数组进行排序原创 2020-05-26 10:21:41 · 357 阅读 · 0 评论 -
符合条件的子串 字节面试
题目:给定m个不重复的字符 [a, b, c, d],以及一个长度为n的字符串tbcacbdata,问能否在这个字符串中找到一个长度为m的连续子串,使得这个子串刚好由上面m个字符组成,顺序无所谓,返回任意满足条件的一个子串的起始位置,未找到返回-1。比如上面这个例子。1.双指针+hashdef f(s, s_list): # 建立hash表保存s_list中元素的个数 d = {m: 0 for m in s_list} left, right = 0, 0 whi.转载 2020-05-21 20:04:40 · 468 阅读 · 0 评论 -
1371. 每个元音包含偶数次的最长子字符串 前缀和,bitmask与异或
给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 'a','e','i','o','u' ,在子字符串中都恰好出现了偶数次。示例 1:输入:s = "eleetminicoworoep"输出:13解释:最长子字符串是 "leetminicowor" ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。示例 2:输入:s = "leetcodeisgreat"输出:5解释:最长子字符串是 "leetc" ,其中包含 2 个 e 。示例 3:输入:s =原创 2020-05-20 16:14:30 · 205 阅读 · 0 评论 -
136. 只出现一次的数字 位运算 异或 哈希表
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解法一先排序,再遍历,时间复杂度为O(nlogn)解法二 哈希表遍历两次,时间复杂度为O(n),计算每一个整数出现的次数在这里插入代码片class Solution: def singleNumber(self,原创 2020-05-14 09:06:09 · 190 阅读 · 0 评论 -
50. Pow(x, n) 快速幂
实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25解题思路快速幂:它可以以O(logN)的时间复杂度计算乘方。快速幂的基本思路求a ^ b1)当b是奇数时,那么有 a^b = a * a^*(b-1)2)当b是偶数时,那么有 a原创 2020-05-11 14:38:20 · 147 阅读 · 0 评论 -
快慢指针
给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2) 。数...原创 2020-04-30 10:45:49 · 109 阅读 · 0 评论 -
滑动窗口 1248. 统计「优美子数组」
给你一个整数数组 nums 和一个整数 k。如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中「优美子数组」的数目。示例 1:输入:nums = [1,1,2,1,1], k = 3输出:2解释:包含 3 个奇数的子数组是 [1,1,2,1] 和 [1,2,1,1] 。示例 2:输入:nums = [2,4,6], k = 1输...原创 2020-04-21 16:31:48 · 217 阅读 · 0 评论 -
广度优先搜索判断距离 542. 01 矩阵
给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。示例 1:输入:0 0 00 1 00 0 0输出:0 0 00 1 00 0 0示例 2:输入:0 0 00 1 01 1 1输出:0 0 00 1 01 2 1注意:给定矩阵的元素个数不超过 10000。给定矩阵中至少有一个元素是 0。矩阵中的元素只...原创 2020-04-15 09:55:46 · 232 阅读 · 0 评论 -
204. 计数质数
统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。解题思路埃拉托色尼筛选法,循环中置对应值的倍数为0,最后统计为1的个数,也就是质数的个数。class Solution: def countPrimes(self, n: int) -> int: if n&l...原创 2020-04-13 11:30:20 · 124 阅读 · 0 评论