lintcode-1851 · 购买通行证

简介: lintcode-1851 · 购买通行证

描述

亚历克斯计划参观博物馆,并在柜台购买相同的通行证。管理员决定不出售团体通行证,一次只提供一张通行证。如果访客需要一张以上的通行证,他/她必须再次重新排队到柜台并购买下一张通行证。亚历克斯想购买许多通行证。访客顺序和每位访客需要的通行证数量是已知的,亚历克斯需要多少时间才能买到所有的通行证?Alex在队列中的位置将被给定,每次交易需要1个时间单位。可以忽略每次转到行后面所需的时间。

arr|<=100000

arr[i]<=10000

样例

样例 1:

输入:
arr=[1,2,5],k=1
输出:
4
解释:
有3个人 0,1,2 在排队。亚历克斯的编号是1
第一个时间点,队列为0(1)<-1(2)<-2(5),编号0获得门票。
第二个时间点,队列为1(2)<-2(5) 亚克斯获得门票,并返回队伍最末端
第三个时间点,队列为2(5)<-1(1) 编号2获得门票,并返回队伍最末端
第四个时间点,队列为1(1)<-2(4) 亚克斯获得门票,他已经买到了所需要的所有门票

样例 2:

输入:
arr=[3,2,1], k = 0,
输出:
6

题解

前面的人是 min(A[i], A[k])

自己是A[k]

后面的人是 min(A[i], A[k]-1)

export class Solution {
  /**
   * buyPasses
   *
   * @param arr: the line 
   * @param k: Alex place
   * @return: the time when Alex requires to buy all passes
   */
  buyPasses(arr, k) {
    // Write your code here.
     let  ans = 0;
    for (let i = 0; i < arr.length; i++) {
        if (i <= k) ans += Math.min(arr[k], arr[i]);
        else ans += Math.min(arr[k] - 1, arr[i]);
    }
    return ans;
  }
}


相关文章
|
6月前
点击解锁新年域名优惠,你准备好了吗?
点击解锁新年域名优惠,你准备好了吗?
|
6月前
热门游戏服务器搭建征文挑战 · 获奖名单
热门游戏服务器搭建征文挑战最优奖、人气奖、争先奖获奖名单正式公布!
652 29
|
6月前
|
小程序 开发者
开发者社区数字藏品类奖品领取攻略
亲爱的用户,恭喜您在阿里云开发者社区活动中赢得数字藏品(NFT)奖品,本文为数字藏品类奖品领取攻略,请您仔细阅读,以便顺利领奖。
244 3
|
安全 NoSQL 关系型数据库
投稿开奖丨轻量应用服务器征文活动(4月)奖励公布
7位用户获得阳光普照奖,1位获得优秀创作奖,一起来看看吧。
投稿开奖丨轻量应用服务器征文活动(4月)奖励公布
云起实验室冬季实战营,云小宝获奖公示
以下同学在社区发布3篇以上文章并通过审核,获得冬奥限量版全网首发盲盒一个! 本次地址已提交供货商不支持修改,后续发货状态会同步至此处 。 缺失电话用户可提交相应工单咨询,如审核有误可联系冬季实战营相关群管理员“陈伟”
|
弹性计算 安全 网络协议
《云栖战略参考》来啦!限时免费申领纸质版杂志
杂志申领链接:https://survey.aliyun.com/apps/zhiliao/xsTiZ4YaM
1059 0
《云栖战略参考》来啦!限时免费申领纸质版杂志
|
域名解析 Kubernetes 安全
阿里云&博客园征文活动获奖名单公示
阿里云&博客园征文活动获奖名单公示
百度之星之F:百科蝌蚪团
百度百科有一支神奇的队伍,他们叫自己“百科蝌蚪团”。为了更好的让蝌蚪团的成员们安排工作,百度百科的运营团队定出了一个24小时制的时间表。
334 0