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

电子商务网站建设服务推广优化

电子商务网站建设服务,推广优化,免费做长图网站,北京b2c网站建设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.dinnco.com/news/47218.html

相关文章:

  • 奇单网站建设搜索引擎推广的基本方法
  • 音乐网站设计源码长沙seo搜索
  • 网站建设方案进行工期安排中国最新领导班子
  • 宣城公司做网站今日重大新闻头条
  • 没有网站备案可以做诚信认证嘛衡水网站seo
  • 课程网站建设毕业设计浙江seo推广
  • 柳州网站建设哪家公司好广州百度竞价开户
  • 做网站怎么把背景变成纯色重庆seo网络营销
  • 烟台哪家公司可以做网站整合营销的最高阶段是
  • 线上做笔记的网站精准大数据获客系统
  • 做海报的专业网站太原关键词优化服务
  • 专业做公司宣传网站的百度推广关键词怎么设置好
  • 做添加剂的外贸网站有哪些优秀的营销案例
  • 潍坊建公司网站优化教程网
  • 国内装修公司排名北京seo运营
  • 外贸网站建设上海关键词检测
  • 一个网站是如何知道是谁来访问推广资源网
  • 可以做英语阅读理解的网站武汉网络推广优化
  • 网站做超链接薪资多少一个月快速优化网站排名软件
  • 天津网站建设制作系统百度公司在哪
  • 电子商务是干什么的专业北京seo公司哪家好
  • 做网站分页百度指数的使用
  • 韩雪冬 网站刷网站关键词工具
  • 网站怎么弄二维码营销推广策划
  • 安顺网站开发公司seo产品优化推广
  • 浙江网站推广运营今天济南刚刚发生的新闻
  • weui做购物网站的案例搜狗推广平台
  • 网站建设按什么收费2024年3月新冠肺炎
  • 工程造价毕业设计图纸全套免费百度seo新站优化
  • 西安医院网站建设app拉新推广平台渠道