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

【leetcode详解】T3175(一点反思)

解题心得

要写出一个好的程序,有效解决问题,思路上就不能“太乖” —— 不能被题目的叙述过程所束缚,而是力求细思问题,抽象化问题,并找到背后的逻辑;最后抓住核心对象,去除多余项,简化过程

题面 

做题记录

乍一看,笔者不成熟的思路就想着要开一个队列,然后果真按照题目叙述一个个比大小,再pop,再push_back哈哈哈

但是一去看元素取值范围,就已经被脑补出的时间、空间的占用逗笑了

思路详解

明确题目要求的量:。。。的坐标

不难发现

if k > n: 那么结果就是最大值的坐标

else:

  • 那么只需要记录当前最大值的坐标
  • 不断向后比较
  • 遇到更大值时更新坐标
  • 直到胜利k次结束

一言以蔽之,这个过程在一次遍历就可以结束~

AC代码见下:

class Solution {
public:
    int findWinningPlayer(vector<int>& skills, int k) {
        int sz = skills.size();
		int idx = 0, cnt = 0;
		for(int i=1; i<sz && cnt != k; i++){
			if(skills[idx] < skills[i])
			{
				idx = i;
				cnt = 1;
			} 
			else cnt++;
		}
		return idx;
    }
};

~希望对你有启发!~


http://www.kler.cn/a/526948.html

相关文章:

  • 商密测评题库详解:商用密码应用安全性评估从业人员考核题库详细解析(9)
  • allegro修改封闭图形线宽
  • 【PyTorch】6.张量形状操作:在深度学习的 “魔方” 里,玩转张量形状
  • doris:异常数据处理
  • shell脚本
  • HarmonyOS DevEco Studio模拟器点击运行没有反应的解决方法
  • arm-linux-gnueabihf安装
  • Retrieval-Augmented Generation for Large Language Models: A Survey——(1)Overview
  • 数据库性能优化(sql优化)_SQL执行计划03_yxy
  • Chapter 3-19. Detecting Congestion in Fibre Channel Fabrics
  • VS安卓仿真器下载失败怎么办?
  • maven mysql jdk nvm node npm 环境安装
  • KNIME:开源 AI 数据科学
  • Janus-Pro 论文解读:DeepSeek 如何重塑多模态技术格局
  • 【Block总结】ODConv动态卷积,适用于CV任务|即插即用
  • 全网多平台媒体内容解析工具使用指南
  • Java锁自定义实现到aqs的理解
  • 007 JSON Web Token
  • Python爬虫:requests模块深入及案例
  • 【Postman 接口测试】接口测试基础知识
  • 查找cuda_home
  • 开源AI智能名片2+1链动模式S2B2C商城小程序:重塑私域流量运营格局
  • 计算机组成原理——数据运算与运算器(二)
  • P1775 石子合并(弱化版)
  • PPT演示设置:插入音频同步切换播放时长计算
  • [实践篇]13.32 QNX下,C++编程未捕获异常导致的CPU异常高占用