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

河北网站建设价格网络营销案例分享

河北网站建设价格,网络营销案例分享,那里做网站,wordpress 生成二维码LeetCode笔记:Biweekly Contest 99 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路2. 代码实现 比赛链接:https://leetcode.com/contest/biweekly-contest-99 1. 题目一…
  • LeetCode笔记:Biweekly Contest 99
    • 1. 题目一
      • 1. 解题思路
      • 2. 代码实现
    • 2. 题目二
      • 1. 解题思路
      • 2. 代码实现
    • 3. 题目三
      • 1. 解题思路
      • 2. 代码实现
    • 4. 题目四
      • 1. 解题思路
      • 2. 代码实现
  • 比赛链接:https://leetcode.com/contest/biweekly-contest-99

1. 题目一

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

  • 2578. Split With Minimum Sum

1. 解题思路

这一题题目简直有毒,题目强调了数字不会以0开头,但是没想到分开的数字却可以以0为开头,因此这道题事实上是被大幅简化了的,我们只要把每一位数排序然后交错分成两个数字相加即可。

2. 代码实现

给出python代码实现如下:

class Solution:def splitNum(self, num: int) -> int:s = str(num)s = sorted([int(ch) for ch in s])n1, n2 = 0, 0for i, ch in enumerate(s):if i % 2 == 0:n1 = n1 * 10 + chelse:n2 = n2 * 10 + chreturn n1 + n2

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

2. 题目二

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

  • 2579. Count Total Number of Colored Cells

1. 解题思路

这一题其实也简单,就是一个等差数列求和,一道数学题罢了,答案为:

ans=∑i=1n(2i−1)+∑i=1n−1(2i−1)=n2+(n−1)2\begin{aligned} ans &= \sum\limits_{i=1}^{n}(2i-1) + \sum\limits_{i=1}^{n-1}(2i-1) \\ &= n^2 + (n-1)^2 \end{aligned} ans=i=1n(2i1)+i=1n1(2i1)=n2+(n1)2

2. 代码实现

给出python代码实现如下:

class Solution:def coloredCells(self, n: int) -> int:return n * n + (n-1) * (n-1)

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

3. 题目三

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

  • 2580. Count Ways to Group Overlapping Ranges

1. 解题思路

这一题我们只需要将range进行一下排列,就能够快速地得到所有的有overlapping的区间,然后我们将这些区间分块,就能够得到所有不含有overlapping的区间块总数nnn,而我们的答案就是2n2^n2n

2. 代码实现

给出python代码实现如下:

class Solution:def countWays(self, ranges: List[List[int]]) -> int:MOD = 10**9 + 7groups = 0ranges = sorted(ranges)rb = -1for a, b in ranges:if a > rb:groups += 1rb = belse:rb = max(rb, b)res = 1for _ in range(groups):res = res * 2 % MODreturn res

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

4. 题目四

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

  • 2581. Count Number of Possible Root Nodes

1. 解题思路

这一题感觉是这周的8道题里面最难的一题了,一开始我也没啥思路,中午的时候临机一动想到了答案,还是蛮开心的。

这一题本质上就是遍历一下每一个点作为根节点时,Bob提出的guess当中正确的猜测的个数,统计其中能够大于k的情况。

单独对于某一个点作为根节点的情况下,考察正确猜测的个数这件事其实是很简单的,只需要用一个遍历即可实现,但是要遍历所有的点作为根节点的情况,这个对于计算效率的要求就比较高了,肯定不都能用for循环对一个节点都单独计算。

我最开始的思路是想要通过动态规划来完成,不过想了好久也没有想到好的解法,后来转念一想,是否可以通过之前已经计算过的结果快速得到其他节点作为根节点时猜测正确的guess个数呢?

这个其实是可以的,假设我们已知u作为根节点时的猜测正确的guess个数n,且v是u的一个邻接节点,那么,以v作为根节点时,其与u作为根节点时的边的关系仅仅只是将(u,v)换成了(v,u),因此,我们就可以快速地得到以v作为根节点时猜测正确的guess个数。

我们同样使用一个遍历即可得到全部的答案了。

2. 代码实现

给出python代码实现如下:

class Solution:def rootCount(self, edges: List[List[int]], guesses: List[List[int]], k: int) -> int:n = len(edges) + 1graph = defaultdict(list)for u, v in edges:graph[u].append(v)graph[v].append(u)guesses = {(u,v) for u, v in guesses}cnt = 0q = [0]seen = set()while q != []:u = q.pop(0)seen.add(u)for v in graph[u]:if v in seen:continueif (u, v) in guesses:cnt += 1q.append(v)seen = set()res = 0def dfs(u, cnt):nonlocal seen, resif u in seen:return if cnt >= k:res += 1seen.add(u)for v in graph[u]:if (u, v) in guesses:if (v, u) in guesses:dfs(v, cnt)else:dfs(v, cnt-1)else:if (v, u) in guesses:dfs(v, cnt+1)else:dfs(v, cnt)returndfs(0, cnt)return res

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

http://www.yidumall.com/news/65094.html

相关文章:

  • 做徽章标牌的企业网站如何自己弄个免费网站
  • 企业微信手机片网站制作外贸网站建设推广公司
  • 响应式网页模板下载系统优化软件
  • 白银网站建设成都网络营销公司排名
  • 昆山广告设计公司windows优化大师是什么软件
  • 长沙做网站建设公司关键词歌词简谱
  • 长沙专业网站建设微信公众号推广网站
  • 现在海外做的比较好一点的网站有哪些云巅seo
  • 做网站建设月收入多少爱站网seo综合查询
  • 兰州网站建设cheng广州百度seo
  • 深圳建设工程交易服务网站如何建立自己的网页
  • 高端企业网站建设核心信阳seo公司
  • 网站设计规划书衡水seo优化
  • 虚拟会员商城网站分销荆门今日头条新闻发布
  • 哪里可以做网站啊友情链接例子
  • 上海本地app有哪些网站排名优化客服
  • 北京网站手机站建设公司电话号码口碑推广
  • 网站开发 手机 验证码企业网站seo点击软件
  • 用js做网站优化疫情防控
  • 网站宣传图电商运营培训哪个机构好
  • 福建公司网站开发海口关键词优化报价
  • seo外链高质量网站私域流量运营管理
  • 有哪些做ppt的网站站长统计官方网站
  • 武汉网站优化的公司网络销售靠谱吗
  • asp.net2.0网站开发全程解析 pdf广告外链购买交易平台
  • 烟台建站服务百度免费
  • 做网站建设需要做哪些工作室erp123登录入口
  • 公司网站.可以自己做吗关键词seo培训
  • 建设工程网教育网官网拼多多seo 优化软件
  • 公司建设的网站属于无形资产吗sem公司