前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode笔记:Weekly Contest 252

LeetCode笔记:Weekly Contest 252

作者头像
codename_cys
发布2021-08-05 10:11:15
2510
发布2021-08-05 10:11:15
举报
文章被收录于专栏:我的充电站

1. 题目一

给出题目一的试题链接如下:

1. 解题思路

这一题其实可以有更优雅的解决方法的,毕竟答案必然是质数的平方数。

不过鉴于这就是一道easy的题目,我们就直接按照暴力求解的方法进行解答了。

2. 代码实现

给出python代码实线如下:

代码语言:javascript
复制
class Solution:
    def isThree(self, n: int) -> bool:
        return len([x for x in range(1, n+1) if n % x == 0]) == 3

提交代码评测得到:耗时36ms,占用内存14.3MB。

2. 题目二

给出题目二的试题链接如下:

1. 解题思路

由于题目要求邻位必须不同,因此,事实上只有一种情况会导致必然存在邻位相同的情况,即存在单个数字的个数超过总数的一半以上,此时,无论怎样排列总会出现两个相邻的情况,否则的话,我们只需要不断地选择最多的一个数据然后进行插入就总能够成功构建目标序列。

因此,我们只需要对最多的一个数据进行统计即可得到最后的答案。

2. 代码实现

给出python代码实现如下:

代码语言:javascript
复制
class Solution:
    def numberOfWeeks(self, milestones: List[int]) -> int:
        s = sum(milestones)
        m = max(milestones)
        return min(s, 2*(s-m)+1)

提交代码评测得到:耗时720ms,占用内存25.7MB。

3. 题目三

给出题目三的试题链接如下:

1. 解题思路

2. 代码实现

给出python代码实现如下:

代码语言:javascript
复制
class Solution:
    def minimumPerimeter(self, neededApples: int) -> int:
        i, j = 0, 10**5
        while i < j-1:
            x = (i+j)//2
            s = 4*x**3+6*x**2+2*x
            if s >= neededApples:
                j = x
            else:
                i = x
        return j*8

提交代码评测得到:耗时36ms,占用内存14.3MB。

4. 题目四

给出题目四的试题链接如下:

1. 解题思路

2. 代码实现

给出python代码实现如下:

代码语言:javascript
复制
class Solution:
    def countSpecialSubsequences(self, nums: List[int]) -> int:
        MOD = 10**9+7
        n = len(nums)
        a, b, c = 0, 0, 0
        for i in nums[::-1]:
            if i == 2:
                c = (2 * c + 1)%MOD
            elif i == 1:
                b = (2 * b + c) % MOD
            else:
                a = (2 * a + b) % MOD
        return a

提交代码评测得到:耗时1888ms,占用内存18MB。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 题目一
    • 1. 解题思路
      • 2. 代码实现
      • 2. 题目二
        • 1. 解题思路
          • 2. 代码实现
          • 3. 题目三
            • 1. 解题思路
              • 2. 代码实现
              • 4. 题目四
                • 1. 解题思路
                  • 2. 代码实现
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档