写点什么

LeetCode 题解:2073. 买票需要的时间,模拟,JavaScript,详细注释

作者:Lee Chen
  • 2024-07-24
    福建
  • 本文字数:489 字

    阅读完需:约 2 分钟

原题链接:https://leetcode.cn/problems/time-needed-to-buy-tickets/


解题思路:


  1. 根据题意,只要tickets[k] > 0,就可以不断排队购票

  2. 因此不断循环,直到tickets[k]为 0 停止

  3. 每次循环都将tickets中的每个人购票次数减 1,同时将购票时间加 1

  4. 如果遇到tickets[k]1,则进行最后一次购票,并返回结果


/** * @param {number[]} tickets * @param {number} k * @return {number} */var timeRequiredToBuy = function(tickets, k) {  let result = 0 // 存储结果
// 不断循环直到tickets[k]为0,表示购买到所需数量的票 while (tickets[k]) { // 每次循环tickets for (let i = 0; i < tickets.length; i++) { // 如果当前是第k个人,他只剩一次购票机会,购票之后就退出循环 if (i === k && tickets[k] === 1) { // 购票时间加1 result++ // 购票数量减1 tickets[k]-- break } // 如果tickets[i]大于0,表示还可购票 if (tickets[i]) { // 购票时间加1 result++ // 购票数量减1 tickets[i]-- } } }
return result};
复制代码


发布于: 刚刚阅读数: 4
用户头像

Lee Chen

关注

还未添加个人签名 2018-08-29 加入

还未添加个人简介

评论

发布
暂无评论
LeetCode题解:2073. 买票需要的时间,模拟,JavaScript,详细注释_Lee Chen_InfoQ写作社区