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

leetcode每日一题day19(24.9.29)——买票需要的时间


思路:在最开始的情况下每人需要买的票数减一是能保持相对位置不变的,

        如果再想减一就有可能 有某些人只买一张票,而离开了队伍,

        所有容易想到对于某个人如果比当前的人买的多就按当前的人数量算

        因为在一次次减一的情况下,当前的人已经离队了,

        如果比当前的人少则按其票数统计,道理相同,

        对于当前的人前方的的人可以使用上述策略,但对于后方由于当前的人有更高的优先,而导致情况有所不同,但如何操作呢

        举个例子

        2 6 3 1 2  4  对于排在n=2的人 即需要买三张票的人  对于其前方的人使用上述策略,

        但如何操作后方呢—— 先模拟三次出票,此时购票序列为1 2 4    1 5 2    此时便将后方转换为前方,使用相同策略,

        归纳:对于 n=2这个人前方的人对 购票数继续处理,后方的则是对购票数减一进行处理

代码:
 

int timeRequiredToBuy(vector<int>& tickets, int k) {int res = 0, size = tickets.size();for (int i = 0; i < size; i++) {if (i <= k) {res += tickets[i] >= tickets[k] ? tickets[k] : tickets[i];} else {res += tickets[i] >= tickets[k] ? tickets[k] - 1 : tickets[i];}}return res;}

相关文章:

  • sql 时间交集
  • Oracle 相关的工具使用 SQL Developer , sqlplus
  • 解决键盘弹起上抬顶部的问题,绑定手势问题
  • 【专题总结】【一文解决】C++多继承下的构造函数执行顺序
  • 计算机毕业设计 服装生产信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • Python的异步编程
  • 【漏洞复现】金和OA C6 GeneralXmlhttpPage.aspx Sql注入漏洞
  • ARM Process state -- PSTATE
  • ubuntu卸载VSFTPD
  • IDEA使用技巧
  • 学习经验分享【38】YOLOv11解读——最新YOLO版本
  • 第十讲-显示控件QLabel
  • 【艾思科蓝】Vue.js组件开发实战:从零构建高效可复用组件
  • PasteForm最佳CRUD实践,实际案例PasteTemplate详解之3000问(三)
  • Qt开发第一讲
  • ES6--对象的扩展
  • Java Agent 学习笔记
  • LeetCode算法系列_0891_子序列宽度之和
  • Linux下的乱码问题
  • oldjun 检测网站的经验
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • use Google search engine
  • 从重复到重用
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 模型微调
  • 前端自动化解决方案
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • AI算硅基生命吗,为什么?
  • #APPINVENTOR学习记录
  • #Z0458. 树的中心2
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • %@ page import=%的用法
  • (day6) 319. 灯泡开关
  • (理论篇)httpmoudle和httphandler一览
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (十六)一篇文章学会Java的常用API
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (原创)可支持最大高度的NestedScrollView
  • .net Stream篇(六)
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @EnableAsync和@Async开始异步任务支持
  • @NotNull、@NotEmpty 和 @NotBlank 区别
  • @RequestMapping用法详解
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [Android Studio 权威教程]断点调试和高级调试
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [C++] vector list 等容器的迭代器失效问题
  • [C++11 多线程同步] --- 条件变量的那些坑【条件变量信号丢失和条件变量虚假唤醒(spurious wakeup)】
  • [Codeforces] number theory (R1600) Part.11
  • [ERROR]-Error: failure: repodata/filelists.xml.gz from addons: [Errno 256] No more mirrors to try.
  • [GPT]Andrej Karpathy微软Build大会GPT演讲(上)--GPT如何训练