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

直播网站建设网站搜索引擎优化案例

直播网站建设,网站搜索引擎优化案例,国际物流公司网站,做HH的网站记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 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.ds6.com.cn/news/91877.html

相关文章:

  • 怎么做qq空间支付网站黑龙江最新疫情通报
  • 电子商务的网站建设过程自媒体视频剪辑培训班
  • 广州微信网站建设深圳百度关键词排名
  • 什么网站专门做外围的郑州seo网站管理
  • 做电容元器件的网站有哪些网络营销网络推广
  • 做网站建设涉及哪些算法品牌推广的具体方法
  • 微信网站建设模板seo关键词排名软件
  • 外贸网站推广上海合肥网站推广公司哪家好
  • 临西做网站哪里便宜百度手机助手下载安卓版
  • 重庆网站建设 熊掌号免费推广网站2023
  • 朋友圈网站文章怎么做企业网站建设报价表
  • 佛山网站建设收费标准广州网站优化服务商
  • 凡科做网站行吗seo零基础培训
  • 预约网站制作百度风云榜小说排行榜历届榜单
  • b站怎么在视频下投放广告域名申请哪家好
  • 如何做一名网站编辑seo描述快速排名
  • 做一电影网站怎么赚钱吗拓客最有效方案
  • 石家庄专业网站设计免费技能培训网
  • 怎么做网站主导航seo是如何优化
  • 做网站做网站建站为应用技术
  • 成都工商注册流程seo外链网
  • 南京 网站制作公司优化大师的三大功能
  • 免费手机照片恢复软件成都网站seo厂家
  • 虎门手机网站建设北京网络排名优化
  • 网站防劫持怎么做我想做网络推广找谁
  • 自适应网站教程网络营销服务的特点有哪些
  • 东营网站建设教程网站seo的方法
  • 故事app怎么制作南宁seo全网营销
  • 做设计的兼职网站有哪些优化培训课程
  • 京东商城网站建设网站seo快速优化技巧