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

现在做网站用什么软件德阳市建设局官方网站

现在做网站用什么软件,德阳市建设局官方网站,中医医院网站建设需求,微信头像在线制作免费文章目录 题目总览题目详解找到字符串中合法的相邻数字重新安排会议得到最多空余时间I3440.重新安排会议得到最多空余时间II 第149场双周赛 题目总览 找到字符串中合法的相邻数字 重新安排会议得到最多空余时间I 重新安排会议得到最多空余时间II 变成好标题的最少代价 题目… 文章目录 题目总览题目详解找到字符串中合法的相邻数字重新安排会议得到最多空余时间I3440.重新安排会议得到最多空余时间II 第149场双周赛 题目总览 找到字符串中合法的相邻数字 重新安排会议得到最多空余时间I 重新安排会议得到最多空余时间II 变成好标题的最少代价 题目详解 找到字符串中合法的相邻数字 思路分析签到题但是可以借助这个Counter来计数然后正常遍历即可 from collections import Counter class Solution:def findValidPair(self, s: str) - str:st list(s)co Counter(st)n len(st)ans for i in range(1,n):if st[i] ! st[i-1] and co[st[i]] int(st[i]) and co[st[i-1]] int(st[i-1]):ans st[i-1] st[i]break#return ansreturn ans重新安排会议得到最多空余时间I 思路1 思路分析首先得将题目进行转化计算出每段时间的空余时间对于活动则记空余时间为0对于每一个k,后续使用双指针进行定窗口滑动的时候kk class Solution:def maxFreeTime(self, eventTime: int, k: int, startTime: List[int], endTime: List[int]) - int:# 范围会很长se list(zip(startTime,endTime))# 已经按照开始时间的升序排序se.sort(keylambda x: x[0])# 可以先计算出空余时间段的一个情况# 要是能够统计对于一个空余时间段的左边和右边距离下一个空余时间段的数目就好了kong []for i,(s,e) in enumerate(se):if i 0:kong.append(s-0)kong.append(0)continue# 计算现在的活动与上一个活动之间的空余时间kong.append(se[i][0] - se[i-1][1])kong.append(0)kong.append(eventTime - se[-1][1])# 使用双指针进行计算n len(kong)kknowsum sum(kong[0:k 1])ans max(0, nowsum)left, right 0, k 1while right n :nowsum nowsum - kong[left] kong[right]left 1right 1ans max(ans, nowsum)# for i in range(n-k):# ans max(ans,sum(kong[i:ik1]))# 感觉上面一直调用这个sum 会超时return ans 参考灵神的思路 思路2 思路2是对于思路1的优化在思路1中我们对于有活动安排的设置为0这样实际上让我们的kong数组变长显得冗余多余的部分让我们的滑动窗口的长度变为了2K1 实际上我们对于n个活动总共会产生n1个空余时间段,对于重新安排的最多的k个会议实际上就是求解合并其中k1个连续的时间段所能够得到的最大的空闲时间 class Solution:def maxFreeTime(self, eventTime: int, k: int, startTime: List[int], endTime: List[int]) - int:# 获得对应的空闲时间def get(i: int) - int:if i 0:return startTime[0]if i n:return eventTime - endTime[-1]return startTime[i] - endTime[i - 1]n len(startTime)ans s 0# 定长滑动窗口的模版for i in range(n 1):s get(i)if i k:continueans max(ans, s)s - get(i - k)return ans 3440.重新安排会议得到最多空余时间II 思路分析总体来说还是继续使用上一题重新安排会议得到最多空余时间I的思路框架相当于上一题的k1不同的是由于上一题不能修改活动的相对顺序只能在相邻的两个空余时间之间移动,但是这一题可以平移出相邻的空闲时间限制,那么如何考虑这种情况我们只需记录空闲时间rest[i]的左边和右边的最大的空闲时间如果能够容纳下该活动则转移过去同时ans要加上目前的活动 from typing import Listclass Solution:def maxFreeTime(self, eventTime: int, startTime: List[int], endTime: List[int]) - int:计算最大空闲时间:param eventTime: 事件的总时间:param startTime: 每个事件的开始时间列表:param endTime: 每个事件的结束时间列表:return: 最大空闲时间n len(startTime)if n 0:return 0# 计算每个间隔的空闲时间rest [0] * (n 1)for i in range(n 1):if i 0:rest[i] startTime[0] # 第一个事件之前的空闲时间elif i n:rest[i] eventTime - endTime[n - 1] # 最后一个事件之后的空闲时间else:rest[i] startTime[i] - endTime[i - 1] # 事件之间的空闲时间# 计算每个间隔左边的最大空闲时间left [0] * (n 1)for i in range(1, n 1):left[i] max(left[i - 1], rest[i - 1])# 计算每个间隔右边的最大空闲时间right [0] * (n 1)for i in range(n - 1, -1, -1):right[i] max(right[i 1], rest[i 1])# 计算最大空闲时间ans 0for i in range(n):# 当前两个连续的空闲时间current_rest rest[i] rest[i 1]# 当前活动的时间act_time endTime[i] - startTime[i]# 如果左边或右边的最大空闲时间大于当前活动时间则将其加入if left[i] act_time or right[i 1] act_time:current_rest act_time# 更新最大空闲时间ans max(ans, current_rest)return ans
http://www.hkea.cn/news/14321741/

相关文章:

  • 产地证在什么网站做wordpress 死链
  • 株洲建设网站的公司专业的基础微网站开发
  • 微信上的网站怎么做的吗网页游戏网站斗地主
  • 无版权图片做网站加强网站建设会
  • 竹子系统做的网站可以优化么wordpress站群软件
  • 购物网站设计phpcms做网站好吗
  • 网站加速器怎么开seo外包公司
  • 农特产品网站建设合同模板wordpress生成xml
  • 正规的网站制作在哪里建站做得好的公司
  • 四川住房和城乡建设厅网站不能进入熊猫办公ppt模板下载免费
  • 建设网站需要多久上海宏波工程咨询管理有限公司
  • 医院网站加快建设详述网站建设的过程简答题
  • 网站建设实用教程个人网站 费用
  • 有哪些搜索引擎网站网站主编 做啥
  • 那些网站可以做宣传社群营销的十大案例
  • 济南正规网站制作怎么选择dw做个人简历网页怎么做
  • 网站建设带数据库模板广告营销策划书
  • 哪个网站是vue做的南山做网站公司怎么选择
  • 贵州省建设厅官网站首页网站建设前期规划
  • 做推广能提高网站权重么网站开发工具的功能包括哪些
  • 小米网站制作qq推广开通
  • 小说网站建设笺池斋手机版静态网页模板
  • 福州模板做网站网页和站点的区别
  • 帝国网站开发wordpress标签并集显示
  • 陕西省建设厅网站官网企业月报手表网站错误怎么办
  • 用股票代码做网站的微信建设网站
  • 网站注册怎么做重庆高端设计公司
  • 精品购物网站无锡建设公司网站
  • 新做的网站如何套餐型网站建设合同
  • asp.net mvc 5 网站开发之美仿唧唧帝笑话门户网站源码带多条采集规则 织梦搞笑图片视频模板