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

郑州手机网站搭建泡芙短视频app在哪里可以赚钱

郑州手机网站搭建,泡芙短视频app在哪里可以赚钱,城乡建设网站宁德,纯静态网站 后台LeetCode笔记:Biweekly Contest 101 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路2. 代码实现 比赛链接:https://leetcode.com/contest/biweekly-contest-101/ 1. 题…
  • LeetCode笔记:Biweekly Contest 101
    • 1. 题目一
      • 1. 解题思路
      • 2. 代码实现
    • 2. 题目二
      • 1. 解题思路
      • 2. 代码实现
    • 3. 题目三
      • 1. 解题思路
      • 2. 代码实现
    • 4. 题目四
      • 1. 解题思路
      • 2. 代码实现
  • 比赛链接:https://leetcode.com/contest/biweekly-contest-101/

1. 题目一

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

  • 2605. Form Smallest Number From Two Digit Arrays

1. 解题思路

这一题中规中矩的,就是一个分类讨论:

  • 如果两个array包含相同的元素,那么答案就是这些相同元素当中最小的;
  • 如果两个array不包含相同的元素,假设两者的最小元素分别是x和y,则答案必然是xy和yx当中的较小数;

2. 代码实现

给出python代码实现如下:

class Solution:def minNumber(self, nums1: List[int], nums2: List[int]) -> int:nums1, nums2 = set(nums1), set(nums2)if len(nums1 & nums2) > 0:return min(nums1 & nums2)else:return min(min(nums1) + 10 * min(nums2), min(nums2) + 10 * min(nums1))

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

2. 题目二

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

  • 2606. Find the Substring With Maximum Cost

1. 解题思路

这一题显然我们可以把每一个字符对应的score给算出来。

然后,我们考察一下累积数组,则任意一个subarray的score都可以用累积数组当中的两数之差来表示。

因此,对以任意位置作为终点的subarray,其能得到的最大值就是当前的值减去之前累积数组的最小值。

遍历以所有的位置最为终点的情况,我们就能获得我们最终的答案。

2. 代码实现

给出python代码实现如下:

class Solution:def maximumCostSubstring(self, s: str, chars: str, vals: List[int]) -> int:score = {ch: ord(ch)-ord('a')+1 for ch in string.ascii_lowercase}for ch, val in zip(chars, vals):score[ch] = vals = [score[ch] for ch in s]s = list(accumulate(s))res = 0_min = 0for x in s:if x < _min:_min = xres = max(res, x-_min)return res

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

3. 题目三

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

  • 2607. Make K-Subarray Sums Equal

1. 解题思路

这一题比较显然的是,要满足题目给定的条件,对于第i个元素和第i+k个元素必然是相等的。

然后,由于array可以循环,因此,我们对k进行深度处理,假设array长度为n,则k需要变成k与n的最大公约数。

此后,我们就可以将array的元素进行分组,然后对每一个组,我们只需要考察将这个组中的元素全部变为相同的数所需要经过的操作数目即可。

2. 代码实现

给出python代码实现如下:

class Solution:def makeSubKSumEqual(self, arr: List[int], k: int) -> int:s = defaultdict(list)n = len(arr)k = math.gcd(n, k)for i, x in enumerate(arr):s[i%k].append(x)def fn(arr):arr = sorted(arr)s = sum(arr)n = len(arr)t = 0res = sfor i, x in enumerate(arr):res = min(res, x*i - t + s-t - x*(n-i))t += xreturn resreturn sum(fn(arr) for arr in s.values())

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

4. 题目四

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

  • 2608. Shortest Cycle in a Graph

1. 解题思路

这一题我的思路还是比较暴力的,就是考察每一个点作为起点的情况下回到起点所需的最小的步数。

这样,遍历完所有的点,我们一定可以找到最小的环。

而对于每一个点如何去找寻最小的回到起点的步数,我们只需要使用一个bfs即可,当某一个点的next step出现在历史路径当中时,对应的最小环长度就是两者距离之和。

2. 代码实现

给出python代码实现如下:

class Solution:def findShortestCycle(self, n: int, edges: List[List[int]]) -> int:graph = defaultdict(list)for u, v in edges:graph[u].append(v)graph[v].append(u)seen = set()res = n+1for u in range(n):q = [(u, -1, 0)]distances = {}loop = Falsewhile (not loop) and q:u, pre, d = q.pop(0)seen.add(u)distances[u] = dfor v in graph[u]:if v in distances:if v == pre:continueres = min(res, d+1 + distances[v])loop = Trueelse:q.append((v, u, d+1))return res if res <= n else -1

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

http://www.yayakq.cn/news/921935/

相关文章:

  • fifa17做任务网站大学二级学院网站建设必要性
  • 网站开发就业薪酬网站的建设公司简介
  • 药品网站如何建设网页策划案的范文
  • 做网站需要哪些工具垄断了网站建设
  • 网站主页制作深蓝企业管理咨询有限公司
  • 商城网站的建设定位外贸怎么用网站开发新客户
  • 百度收录网站怎么做网站设计ps做效果图过程
  • 网站建设详细电子商务网站系统建设进度安排
  • 福州网站关键排名学生网页设计主题
  • 欢迎访问中国建设银行网站密码重置设计网页推荐
  • 网站需要多大的空间域名注册哪个平台比较好
  • 有哪些摄影网站做网站代码用什么软件
  • 销售网站平台搭建十度网站建设
  • 义乌北苑编程网站开发公司科技袁人袁岚峰
  • 本地做网站教程沈阳企业建站系统模板
  • s吗网站虚拟主机wordpress修改备案号
  • 织梦书法网站模板软件外包公司好吗
  • 货代如何做亚马逊和速卖通网站义乌做外贸网站
  • asp 网站路径泄露 解决网站标题栏做多大
  • 响应式自适应网站北京哪家公司做网站好
  • 视频播放网站开发的报告上海app定制
  • 免费正能量励志网站400个成品短视频
  • 网上黑赌网站如何做代理网络广告是什么
  • 做网站需要怎么分工安全管理平台
  • 所有网站域名都有网站建设费用的会计分录
  • 专业手机网站定制电脑qq小程序入口
  • 兰州电商平台网站建设石景山网站建设服务
  • 中国在数码网站注册域名好>网站推广优化价格
  • 以前在线做预算的网站推广普通话的作文
  • 不用下载的行情网站新浪sae安装wordpress