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

杭州建设企业网站网站优化北京多少钱

杭州建设企业网站,网站优化北京多少钱,wordpress博客备案,vip影视网站如何做app记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 9/30 1845. 座位预约管理系统10/1 983. 最低票价10/2 1870. 准时到达的列车最小时速10/3 1928. 规定时间内到达终点的最小花费10/4 1227. 飞机座位分配概率10/5 2187. 完成…

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步


目录

      • 9/30 1845. 座位预约管理系统
      • 10/1 983. 最低票价
      • 10/2 1870. 准时到达的列车最小时速
      • 10/3 1928. 规定时间内到达终点的最小花费
      • 10/4 1227. 飞机座位分配概率
      • 10/5 2187. 完成旅途的最少时间
      • 10/6 134. 加油站


9/30 1845. 座位预约管理系统

最小堆

import heapq
class SeatManager(object):def __init__(self, n):""":type n: int"""self.l = [i for i in range(1,n+1)]heapq.heapify(self.l)def reserve(self):""":rtype: int"""return heapq.heappop(self.l)def unreserve(self, seatNumber):""":type seatNumber: int:rtype: None"""heapq.heappush(self.l, seatNumber)

10/1 983. 最低票价

dp(i) 表示从第i天到最后花的钱
如果i不需要出行 不买票
如果i需要出行 考虑买三种通行证哪种情况最优

def mincostTickets(days, costs):""":type days: List[int]:type costs: List[int]:rtype: int"""ds=set(days)du = [1,7,30]mem={}def dp(i):if i in mem:return mem[i]if i>365:return 0elif i in ds:ans = min(dp(i+d)+c for d,c in zip(du,costs))mem[i]=ansreturn anselse:ans = dp(i+1)mem[i]=ansreturn ansreturn dp(1)

10/2 1870. 准时到达的列车最小时速

二分寻找最小时速
check检查当前速度s是否能准时到达
保留两位小数将结果都乘以100

def minSpeedOnTime(dist, hour):""":type dist: List[int]:type hour: float:rtype: int"""n=len(dist)hr=round(hour*100)if hr<=100*(n-1):return -1def check(s):t = 0for i in range(n-1):t += (dist[i]+s-1)//st*=st+=dist[-1]return t*100<=hr*sl,r=1,10**7while l<r:mid = l+(r-l)//2if check(mid):r=midelse:l=mid+1return l

10/3 1928. 规定时间内到达终点的最小花费

dp[t][i]表示用t分钟到达城市i需要的最少通行费用
遍历时间t 在时间t内遍历所有的边 更新可以走的路

def minCost(maxTime, edges, passingFees):""":type maxTime: int:type edges: List[List[int]]:type passingFees: List[int]:rtype: int"""n=len(passingFees)dp = [[float("inf")]*n for _ in range(maxTime+1)]dp[0][0]=passingFees[0]for t in range(1,maxTime+1):for i,j,c in edges:if c<=t:dp[t][i]=min(dp[t][i],dp[t-c][j]+passingFees[i])dp[t][j]=min(dp[t][j],dp[t-c][i]+passingFees[j])ans = min(dp[t][n-1] for t in range(1,maxTime+1))return -1 if ans==float("inf") else ans

10/4 1227. 飞机座位分配概率

f(3)三人情况:
如果第一位乘客做在位置1上 1/3 第三位乘客一定坐在自己位置
如果第一位乘客坐在位置2上 1/3 第二位乘客坐在位置1上 1/2 第三位乘客坐在自己位置
1/3+1/31/2=1/2
f(4)四人同理 1/4+1/4
f(3)+1/4*f(2)=1/2
如果n=1 那么概率100% 否则50%

def nthPersonGetsNthSeat(n):""":type n: int:rtype: float"""return 1 if n==1 else 0.5

10/5 2187. 完成旅途的最少时间

每辆车都需要不停的开
对时间进行二分查找
check检查在时间s内是否满足

def minimumTime(time, totalTrips):""":type time: List[int]:type totalTrips: int:rtype: int"""time.sort()def check(s):cnt = 0for t in time:cnt += s//tif cnt>=totalTrips:return Truereturn Falsel=1r=totalTrips*max(time)while l<r:mid =l+(r-l)//2if check(mid):r = midelse:l = mid+1return l

10/6 134. 加油站

可以从头记录gas 和cost的差值 记录油箱内的油 最终剩余不能为负数
找到中途油最小的时候 可以为负数
那么后一位必定可以完成

def canCompleteCircuit(gas, cost):""":type gas: List[int]:type cost: List[int]:rtype: int"""remain,start,mingas = 0,0,float('inf')for i in range(len(gas)):remain += gas[i]-cost[i]if remain<mingas:mingas = remainstart = (i+1)%(len(gas))if remain<0:return -1return start

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

相关文章:

  • 个人宽带弄网站可以吗怎么做网站板块
  • 龙采做网站要多少钱网站开发制作学徒
  • 电子商务网站建设新手做网站是不是太麻烦了
  • 受欢迎的企业网站建设企业网站如何进行seo
  • 最方便建立网站网站 要强化内容建设
  • 郑州的网站建设苏州做网站0512jinyan
  • 网站菜单导航怎么做的东莞网站推广服务
  • 公司做网站提供资料温州网站建设制作公司
  • Python做网站 性能网站开发拓扑图
  • 哈尔滨在线制作网站中讯科技-运城网站建设
  • 开发大型网站的流程网站建设培训达内
  • 福建漳州网站建设公司官网小程序
  • 推广关键词wordpress 关键词优化
  • 玉树电子商务网站建设公司电子商务网站设计原则
  • asp网站增加新栏目在哪添加怎么下载网站的视频
  • 湖州微信网站建设留言板网站怎么做
  • 外贸型企业网站建设wordpress通栏图片插件
  • 内部购物券网站怎么做国家职业资格证书网站
  • 免费域名解析网站建设汕头seo优化项目
  • 菏泽县建设局网站沈阳男科医院哪家口碑好
  • 公司做影视网站侵权建e网室内设计网网址
  • 常州企业免费建站建设网站的步骤seo
  • php做的直播网站做网站电脑和手机都是一样可以看吗
  • 在自己网站建立自己的外链asp.net网站开发使用到的技术
  • 湖北省住房城乡建设厅网站首页三亚官方网站建设
  • 苏州哪家网站建设asp.net做简易网站
  • 网站开发培训成都网站开发浏览器不支持flash
  • html5 微信网站 源码网站备案的公司注销了
  • 做托福的网站wordpress id清空
  • 古典网站建设制作动画片的软件