当前位置: 首页 > 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;}
http://www.lryc.cn/news/450789.html

相关文章:

  • 智源研究院推出全球首个中文大模型辩论平台FlagEval Debate
  • python实用脚本(二):删除xml标签下的指定类别
  • vue3 父子组件调用
  • 线性模型到神经网络
  • 【架构】前台、中台、后台
  • Stable Diffusion 蒙版:填充、原图、潜空间噪声(潜变量噪声)、潜空间数值零(潜变量数值零)
  • ffmpeg录制视频功能
  • 【LeetCode】每日一题 2024_10_1 最低票价(记忆化搜索/DP)
  • [C++] 小游戏 征伐 SLG DNF 0.0.1 版本 zty出品
  • 黑马头条day7-app端文章搜索
  • 嵌入式必懂微控制器选型:STM32、ESP32、AVR与PIC的比较分析
  • Python selenium库学习使用实操二
  • 基于Hive和Hadoop的电信流量分析系统
  • 访问docker容器中服务的接口,报错提示net::ERR_CONNECTION_REFUSED
  • 【mysql相关总结】
  • uniapp 微信小程序 微信支付
  • CSS 效果:实现动态展示双箭头
  • Linux 创建开发用的账户
  • 检查一个CentOS服务器的配置的常用命令
  • Redis 简单的消息队列
  • C++:继承和多态,自定义封装栈,队列
  • Python多个set中的交集
  • 百度百科 X-Bk-Token 算法还原
  • RUST语言的初印象-从一个模拟登陆谈起-slint+reqwest+aes
  • HBase批量写入优化
  • 江协科技STM32学习- P19 TIM编码器接口
  • 文件上传、重定向、Gin路由
  • 躺平成长:微信小程序运营日记第二天
  • 三分钟速览:Node.js 版本差异与关键特性解析
  • git创建新分支