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

[M前缀和] lc3096. 得到更多分数的最少关卡数目(前缀和+思维)

文章目录

    • 1. 题目来源
    • 2. 题目解析

1. 题目来源

链接:3096. 得到更多分数的最少关卡数目

2. 题目解析

比较有意思的题目,仔细读题后发现解题没啥难度,但是如何写好、写的更简洁需要注意下:

思路:

  • 数据量 1e5,肯定不能两层循环了。那就需要在每个数组下标查询时,都需要知道 A、B 的得分。
  • 得分:0 扣分,1 加分。当查询下标 i 时,i 下标从 0 开始,先暂定 i+1 这段都能得分,那么现在只需要得到我的扣分项即可算出最终得分。即只需要统计下标 i 位置之前的所有的 0 的个数作为扣分项,i + 1 这个数组长度就是我的得分,但这里是包含了 0 的这些扣分的,这些位置的得分是无效的,所以需要减去 2 倍的 0 的个数,即减去无效得分、减去真是扣分,即算出来最终的得分情况。
  • 前后缀均可这样计算。

坑点:

  • bob 必须要操作,所以 i < n-1。这里还 WA 一次… 没看到题目说明…

  • 时间复杂度 O ( n ) O(n) O(n)
  • 空间复杂度 O ( 1 ) O(1) O(1)

class Solution {
public:int minimumLevels(vector<int>& possible) {int n = possible.size();possible[0] = possible[0] == 0;for (int i = 1; i < n; i ++ ) {if (possible[i] == 0) possible[i] = 1;else possible[i] = 0;possible[i] += possible[i - 1];}for (int i = 0; i < n - 1; i ++ ) {if (i + 1 - 2 * possible[i] > n - i - 1 - 2 * (possible[n - 1] - possible[i])) {return i + 1;}}return -1;}
};
http://www.lryc.cn/news/403303.html

相关文章:

  • 基础vrrp(虚拟路由冗余协议)
  • 《绝区零》是一款什么类型的游戏,Mac电脑怎么玩《绝区零》苹果电脑玩游戏怎么样
  • Mysql sql技巧与优化
  • 7.SpringBoot整合Neo4j
  • 教室管理系统的开发与实现(Java+MySQL)
  • Go的入门
  • windows中使用Jenkins打包,部署vue项目完整操作流程
  • RocketMQ中概念知识点记录 和 与SpringBoot集成实现发送 同步、异步、延时、批量、tag、key、事务消息等
  • 云计算实训09——rsync远程同步、自动化推取文件、对rsyncd服务进行加密操作、远程监控脚本
  • 【DGL系列】DGLGraph.out_edges简介
  • 掌握品质之钥:ISO9001质量管理体系认证的巨大价值
  • 网络开局 与 Underlay网络自动化
  • MySQL MVCC原理
  • 编织文字的魔法:探索WebKit的CSS文本效果
  • 如何在Linux上部署Ruby on Rails应用程序
  • 极狐GitLab 如何管理 PostgreSQL 扩展?
  • SpringBoot如何使用Kafka来优化接口请求的并发
  • 全面了解不同GPU算力型号的价格!
  • Linux网络编程之UDP
  • graham 算法计算平面投影点集的凸包
  • 【海外云手机】静态住宅IP集成解决方案
  • 最新!CSSCI(2023-2024)期刊目录公布!
  • C语言 | Leetcode C语言题解之第237题删除链表中的节点
  • linux LED代码设计
  • Jvm基础(一)
  • 深入理解FFmpeg--软/硬件解码流程
  • 新的铸造厂通过 PROFIBUS 技术实现完全自动化
  • 【UE5.1】NPC人工智能——04 NPC巡逻
  • 计算机视觉主流框架及其应用方向
  • 群晖 搭建alist 记录