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

邹城市建设局网站网页制作及欣赏

邹城市建设局网站,网页制作及欣赏,小项目加盟,有谁知道哪个网址问题描述 有 n 位玩家在进行比赛,玩家编号依次为 0 到 n - 1 。 给你一个长度为 n 的整数数组 skills 和一个 正 整数 k ,其中 skills[i] 是第 i 位玩家的技能等级。skills 中所有整数 互不相同 。 所有玩家从编号 0 到 n - 1 排成一列。 比赛进行方式如…

问题描述

有 n 位玩家在进行比赛,玩家编号依次为 0 到 n - 1 。

给你一个长度为 n 的整数数组 skills 和一个  整数 k ,其中 skills[i] 是第 i 位玩家的技能等级。skills 中所有整数 互不相同 。

所有玩家从编号 0 到 n - 1 排成一列。

比赛进行方式如下:

  • 队列中最前面两名玩家进行一场比赛,技能等级 更高 的玩家胜出。
  • 比赛后,获胜者保持在队列的开头,而失败者排到队列的末尾。

这个比赛的赢家是 第一位连续 赢下 k 场比赛的玩家。

请你返回这个比赛的赢家编号。

示例

示例 1:

输入:skills = [4,2,6,3,9], k = 2

输出:2

解释:

一开始,队列里的玩家为 [0,1,2,3,4] 。比赛过程如下:

  • 玩家 0 和 1 进行一场比赛,玩家 0 的技能等级高于玩家 1 ,玩家 0 胜出,队列变为 [0,2,3,4,1] 。
  • 玩家 0 和 2 进行一场比赛,玩家 2 的技能等级高于玩家 0 ,玩家 2 胜出,队列变为 [2,3,4,1,0] 。
  • 玩家 2 和 3 进行一场比赛,玩家 2 的技能等级高于玩家 3 ,玩家 2 胜出,队列变为 [2,4,1,0,3] 。

玩家 2 连续赢了 k = 2 场比赛,所以赢家是玩家 2 。

示例 2:

输入:skills = [2,5,4], k = 3

输出:1

解释:

一开始,队列里的玩家为 [0,1,2] 。比赛过程如下:

  • 玩家 0 和 1 进行一场比赛,玩家 1 的技能等级高于玩家 0 ,玩家 1 胜出,队列变为 [1,2,0] 。
  • 玩家 1 和 2 进行一场比赛,玩家 1 的技能等级高于玩家 2 ,玩家 1 胜出,队列变为 [1,0,2] 。
  • 玩家 1 和 0 进行一场比赛,玩家 1 的技能等级高于玩家 0 ,玩家 1 胜出,队列变为 [1,2,0] 。

玩家 1 连续赢了 k = 3 场比赛,所以赢家是玩家 1 。

提示:

  • n == skills.length
  • 2 <= n <= 10^5
  • 1 <= k <= 10^9
  • 1 <= skills[i] <= 10^6
  • skills 中的整数互不相同。

问题分析:

周赛的第二题,我现在的实力也就做做第一第二题。。。这道题和1535. 找出数组游戏的赢家 - 力扣(LeetCode)题是一模一样的,就是返回值略有不同。我的解法是纯纯的模拟,用一个双端队列来模拟这个比赛全流程。每次取出队首两个元素进行比较,胜者继续留在队首,败者去队尾,一直到决出胜者。这里要注意,由于k可能非常大,所以我们要进行剪枝,去除不必要的循环,主要就是当一个人,他获胜的次数已经超过了数组元素的个数,那无论再怎么循环下去,都是他会成为最终胜者。

代码如下:

class Solution {
public:int findWinningPlayer(vector<int>& skills, int k) {//    当k==1时特殊处理,返回0和1之间的胜者下标if(k == 1){return skills[0] > skills[1] ? 0 : 1;}int n = skills.size();deque<pair<int, int>> Q;//    使用pair类型存下标和对应skillfor(int i = 0; i < n; ++i){Q.push_back({i, skills[i]});}int ans = 0;int res = -1;while(ans != k){//    取队首两个元素pair<int, int> F = Q.front();Q.pop_front();pair<int, int> S = Q.front();Q.pop_front();//    如果第一个元素大于第二个,++ans。if(F.second > S.second){++ans;Q.push_front(F);Q.push_back(S);}//    如果第二个元素大于第一个,ans重置为1else{ans = 1;Q.push_back(F);Q.push_front(S);}//    满足条件就退出循环,1535就是把F.first改成F.second就行if(ans > n || ans == k){res = F.first;break;}}return res;}
};


文章转载自:

http://E5ck3ZR6.bqfpm.cn
http://vm6aRVJr.bqfpm.cn
http://BcZotLMa.bqfpm.cn
http://7jADiwSs.bqfpm.cn
http://McZieY7j.bqfpm.cn
http://UhL7PWTP.bqfpm.cn
http://eOoiisuj.bqfpm.cn
http://F07D6cW0.bqfpm.cn
http://q72QmIzm.bqfpm.cn
http://cW3F6vsC.bqfpm.cn
http://yHVNB616.bqfpm.cn
http://FIVKFhj5.bqfpm.cn
http://js9k51Og.bqfpm.cn
http://qgRLl2hR.bqfpm.cn
http://CbuYii6O.bqfpm.cn
http://4EHNKGPr.bqfpm.cn
http://tfhCohvI.bqfpm.cn
http://8JRd6AY6.bqfpm.cn
http://0OZ6bYKW.bqfpm.cn
http://3dhtweet.bqfpm.cn
http://sb4891Hj.bqfpm.cn
http://hc5C3lEW.bqfpm.cn
http://WfYWigvC.bqfpm.cn
http://dIE29kOH.bqfpm.cn
http://2yk12vKB.bqfpm.cn
http://T9VZdJWw.bqfpm.cn
http://6U8e7e7s.bqfpm.cn
http://eC9C6l6t.bqfpm.cn
http://3mAfPjOz.bqfpm.cn
http://A0fQb8HU.bqfpm.cn
http://www.dtcms.com/wzjs/771423.html

相关文章:

  • 东莞出租车公司黑帽seo排名
  • 企业网站优化平台wordpress 教程主题
  • 微信网站特征网站建设运维合同
  • 十大国外室内设计网站公众号模板编辑器
  • 网站建设套餐报万户高端网站建设
  • jsp网站访问万维网免费用搭建网站
  • 网站备案信息填写dw制作个人网页代码
  • 设计网站账号如何申请网站域名注册
  • 帮老板做网站网站建设报价比较表
  • 三亚制作网站学网站开发在大学
  • 遵义做手机网站建设wordpress首页视频播放
  • 网站系统有哪些榆林网站开发
  • 制作网站的固定成本网站推广的方法枫子
  • 网站设计论文提纲网站建设意义
  • html在线编辑网站网站主页设计教程
  • 门户网站建设的作用及意义松江新桥专业网站建设
  • 响应式网站制作流程图用户要承担变压器损耗吗
  • 网站开发带后台网站的建设和维护
  • 小说投稿赚钱的网站wordpress首页添加文章列表
  • 包装设计灵感网站企业介绍微网站怎么做
  • 2015做哪个网站致富搭建网站做财务系统
  • 沧州做网站多少钱泰安最新通知今天
  • 做加工都在哪个网站推广sem是什么设备
  • 360网站怎么做网址链接网站服务器位置查询
  • 南宁市制作网站的公司北京网站制作很好 乐云践新
  • 中国城乡建设结合部网站wordpress制作博客
  • 网站管理后台怎么做手机销售网站怎么做的
  • 长治网站建设培训文件无锡室内设计学校
  • 宣传网站有哪些4G访问wordpress
  • seo站长工具建立网站目录结构时应注意哪几个方面?