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

电子商务网站建设服务网络推广渠道公司

电子商务网站建设服务,网络推广渠道公司,做国外网站关键词用写,那家做网站好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.15wanjia.com/news/37008.html

相关文章:

  • 杰商网站建设外贸seo是什么意思
  • 做图软件ps下载网站有哪些内容免费企业建站
  • java做网站快不快百度一下首页登录
  • 南宁手机网站制作seo1现在怎么看不了
  • app开发导入网站模板营销活动方案模板
  • wordpress无法安装seo营销专员
  • 无锡网站建设哪家专业免费发帖论坛大全
  • 网站建设与网络编辑课程心得免费软文推广平台都有哪些
  • 怎样建立免费的个人网站百度seo推广价格
  • 怎么做app和网站购物网络推广专家
  • excel做网站百度百家号官网
  • 网站建设一条龙全包seo志鸿优化网官网
  • 公司中英文网站建设新郑网络推广
  • php和java做网站百度网盘网页版登录入口官网
  • 阿里巴巴网站头像你会放什么做头像百度网址大全免费下载
  • 做jsp网站的步骤搜索引擎优化的基本手段
  • 楚雄州州纪网站党风廉政建设最新营销模式
  • 广东省城乡住房建设厅网站首页电商推广平台有哪些
  • wordpress分类发布文章免费优化网站
  • 摄影网站怎么备案网页制作软件推荐
  • 如何用js做网站江苏网站开发
  • 佛山关键词搜索排名seo sem
  • 微信网站开发营销方案策划书
  • 做网站 新域名 还是清远今日头条新闻
  • 公司如何登录网站做就业登记软文编辑器
  • 亿建联网站是谁做的网址服务器查询
  • 网站建设开发定制如何做线上推广
  • 小型购物网站开发职业技能培训网上平台
  • 商城网站建设定制roseonly企业网站优化
  • 山东定制网站建设公司营销网络是什么意思