您现在的位置: 救必应 > 救必应性味归经 > 正文 > 正文

LeetCode第场周赛

  • 来源:本站原创
  • 时间:2021/8/13 21:04:12
沈阳白癜风医院 http://m.39.net/pf/a_5212240.html

题目描述

一个整数n,问n是否恰好有三个正除数。

思路简单

数据量只有10^4,直接枚举(1~n)的所有数,用n除一下判断是否可以整除即可。时间复杂度O(n)

Code

defisThree(self,n:int)-bool:cnt=0foriinrange(1,n+1):ifn%i==0:cnt+=1returncnt==3

题目描述

题目比较长,但是不复杂。给出一个整数数组milestones,milestones的下标i表示第i个项目,对应的值v表示该项目i分为v个阶段。

1、每周必须且只能完成某一个项目的某一个阶段任务。

2、不可以在相邻的两周完成同一个项目中的任务。

3、当所有项目都完成,或者仅剩下的任务都会导致违反上面的规则的时候将会停止工作。

问题是在不违反规则的情况下能工作多少周。

思路简单

该题有点类似插空法的应用场景,因此不难。我们以其中阶段最多的那个任务为基准,将剩余的任务插进阶段最多的任务m中。

这样会产生两种情况:

第一种情况m的阶段数不大于其他所有任务tmp的阶段数,那么就可以把tmp的所有阶段全插到m中,因此可以工作的周数就等于m+tmp;

反之,就不能把tmp全插到m中,也就是说m的一个空插入一个tmp的阶段,那么最终就是插入两个tmp的阶段后再插入一个m的阶段,因此可以工作的周数就是2*tmp+1。

Code

defnumberOfWeeks(self,milestones:List[int])-int:m=max(milestones)tmp=sum(milestones)-mreturnm+tmpifm=tmpelse2*tmp+1

题目描述

给出一个二维网格,每个坐标上都有一颗苹果树,其中树上的苹果个数为横坐标绝对值加上纵坐标绝对值。给出一个整数neededApples,在必须有need数量的苹果在土地上的时候,土地的最小周长。(边长为1的正方形是没有任何苹果的)

分析一下

土地的圈数n每增加1,边长就会增加2,因为上下界都增加了1。通过下面的推导我们知道了,第n圈会有12*(n^2)个苹果。然后把(1~n)的每圈都加起来就可以求出n圈里总共的苹果,然后一直循环直到苹果数达到neededApples就行了。n对应边长为一个边2n,总共有4个边,那么n的周长就是8n。

Code

defminimumPerimeter(self,neededApples:int)-int:apples=0n=0#这里也可以用二分来寻找边界#下界为边长1,上界为边长1e5,#当边长超过1e5时候苹果数会比超出数据范围10^15whileapplesneededApples:apples=2*n*(n+1)*(2*n+1)n+=1#注意边长为1没有苹果。return8*(n-1)预览时标签不可点收录于话题#个上一篇下一篇


本文编辑:佚名
转载请注明出地址  http://www.jiubiyinga.com/xwgj/12885.html

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 热点文章

    • 没有任何图片文章
    • 没有热点文章
    推荐文章

    • 没有任何图片文章
    • 没有推荐文章

    Copyright © 2012-2020 救必应版权所有



    现在时间: