首页 > 其他分享 >Leetcode每日一题:3175. 找到连续赢 K 场比赛的第一位玩家

Leetcode每日一题:3175. 找到连续赢 K 场比赛的第一位玩家

时间:2024-10-24 13:58:31浏览次数:6  
标签:return idx int max find 玩家 数组 3175 Leetcode

题意为给定一个数组,数组头两数比大小,大的放队首,小的放队尾,找到能够连续赢K次的数的编号。

思路:如果一轮比较完了,没有赢K次的,那答案就是数组最大值。利用双指针,模拟一轮比较,计算每个数的胜利次数,注意,若起点不是0的话,意味着他和之前的数比较是胜出的,所以初始为1,否则初始为0;

 1 class Solution {
 2 public:
 3     int findWinningPlayer(vector<int>& s, int k) {
 4         auto find_max=[&s]() -> int {
 5             int res=-1,idx=-1;
 6             for(int i=0;i<s.size();i++){
 7                 if(s[i]>res)
 8                 {
 9                     res=s[i];
10                     idx=i;
11                 }
12             }
13             return idx;
14         };
15 
16         int n=s.size();
17         int i=0,j=1;
18         while(i<n&&j<n){
19             while(i<n&&j<n&&s[j]<=s[i]) j++;
20             int initial_win=i>0?1:0;
21             if(j-i-1+initial_win>=k) return i;
22             i=j;
23             j=i+1;
24         }
25         return find_max();
26     }
27 };

 

标签:return,idx,int,max,find,玩家,数组,3175,Leetcode
From: https://www.cnblogs.com/greenofyu/p/18499475

相关文章

  • [LeetCode] 951. Flip Equivalent Binary Trees
    ForabinarytreeT,wecandefineaflipoperationasfollows:chooseanynode,andswaptheleftandrightchildsubtrees.AbinarytreeXisflipequivalenttoabinarytreeYifandonlyifwecanmakeXequaltoYaftersomenumberofflipoperations......
  • 代码随想录算法训练营第九天|leetcode151.翻转字符串里的单词、卡码网55.右旋字符串
    1leetcode151.翻转字符串里的单词题目链接:151.反转字符串中的单词-力扣(LeetCode)文章链接:代码随想录视频链接:字符串复杂操作拿捏了!|LeetCode:151.翻转字符串里的单词_哔哩哔哩_bilibili自己的思路:直接将空格去掉,然后分割字符串为列表,在列表中进行翻转,不在字符串内部操作,......
  • 3175. 找到连续赢 K 场比赛的第一位玩家
    有n位玩家在进行比赛,玩家编号依次为0到n-1。给你一个长度为n的整数数组skills和一个正整数k,其中skills[i]是第i位玩家的技能等级。skills中所有整数互不相同。所有玩家从编号0到n-1排成一列。比赛进行方式如下:队列中最前面两名玩家进行一场比赛,......
  • leetcode-1661-每台机器的平均运行时间
    链接:1661.每台机器的进程平均运行时间-力扣(LeetCode)前提条件:表: Activity+----------------+---------+|ColumnName|Type|+----------------+---------+|machine_id|int||process_id|int||activity_type|enum||timest......
  • c++ 构成整天的下标对数目 leetcode
    目录一、leetcode3184.构成 整天 的下标对数目I1.问题描述 2.方法:暴力穷举二、leetcode3185.构成 整天 的下标对数目II1.问题描述2.方法:哈希表一、leetcode3184.构成 整天 的下标对数目I1.问题描述给你一个整数数组 hours,表示以 小时 为单位的时间,返......
  • leetcode-197-上升的温度
    链接:197.上升的温度-力扣(LeetCode)前提条件:表: Weather+---------------+---------+|ColumnName|Type|+---------------+---------+|id|int||recordDate|date||temperature|int|+---------------+---------+id是......
  • leetcode刷题-1581. 进店却未进行过交易的顾客
    链接:1581.进店却未进行过交易的顾客-力扣(LeetCode)前提条件:表:Visits+-------------+---------+|ColumnName|Type|+-------------+---------+|visit_id|int||customer_id|int|+-------------+---------+visit_id是该表中具有唯一值的列。......
  • Leetcode刷题Python之3185.构成整天的下标对数目II
    提示:直接暴力求解会超过执行时间,因此要考虑其他方法降低复杂度。文章目录问题描述一、示例:二、解题思路1.找余数2.利用哈希表存储余数3.逐步统计配对数代码实现解释代码复杂度分析问题描述给定一个整数数组hours,表示时间,以小时为单位。我们需要找到数组中满......
  • LeetCode|3185. 构成整天的下标对数目 II(day21)
    作者:MJ昊博客:掘金、CSDN等公众号:程序猿的编程之路今天是昊的算法之路第21天,今天分享的是LeetCode第3185题构成整天的下标对数目II的解题思路。这是一道中等难度的题目,主要考察如何高效地统计两个元素之和为24的倍数的下标对,通过优化的算法减少时间复杂度。题目描......
  • LeetCode|3184. 构成整天的下标对数目 I(day20)
    作者:MJ昊博客:掘金、CSDN等公众号:程序猿的编程之路今天是昊的算法之路第20天,今天分享的是LeetCode第3184题构成整天的下标对数目I的解题思路。这是一道简单难度的题目,考察的是数组元素之间的组合与模运算。题目描述简要回顾给定一个整数数组hours,求满足(hours[i]+......