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

【LeetCode】每日一题 2023_12_3 可获得的最大点数(前缀和/滑动窗口/贪心)

文章目录

  • 刷题前唠嗑
  • 题目:可获得的最大点数
    • 题目描述
    • 代码与解题思路
  • 结语

刷题前唠嗑


LeetCode?启动!!!

题目:可获得的最大点数

题目链接:1423. 可获得的最大点数

题目描述

代码与解题思路

func maxScore(cardPoints []int, k int) int {
    front := 0
    for i := 0; i < k; i++ {
        front += cardPoints[i]
    }
    ans := front
    for i := 1; i <= k; i++ {
        front += cardPoints[len(cardPoints)-i] - cardPoints[k-i]
        ans = max(ans, front)
    }
    return ans
}

我这个方法算是有那么一点前缀+贪心的思想吧,主要流程是这样的:

  1. 先把前 k 个数都加到一起,用 front 存着
  2. 然后倒着遍历后 k 个数,具体来说就是:去掉一个前 k 个的数,增加一个后 k 个的数,然后求最大值,这样就能将全部的情况都走了一遍,并把它们能得到的最大值存了起来,如果凭空想象不出来可以对着代码和样例走一遍

结语

我看到还有滑动窗口的解法,原本应该去看看的,但是最近有些累,没力气了,躺倒


http://www.kler.cn/news/155332.html

相关文章:

  • 第十四章 算法和数据结构
  • 〖大前端 - 基础入门三大核心之JS篇㊺〗- 定时器和延时器
  • Qt面试题
  • 使用凌鲨进行内网穿透
  • WebUI自动化学习(Selenium+Python+Pytest框架)003
  • 循环神经网络RNN及其变体LSTM、GRU
  • QT 中 QTimer 类 备查
  • 计算机导论——第39章 文件和目录
  • SCAU:1065 数组中的指针
  • Hdoop学习笔记(HDP)-Part.17 安装Spark2
  • 数据领域建设的五大方向
  • 团队可能出现的问题以及应对方案
  • 基于深度学习面向中医诊断的舌象图像分割系统
  • Java链式编程、什么是链式编程、链式编程怎么调用,链式编程的使用形式,Builder模式实现链式编程(保姆级教程)
  • mysql8报sql_mode=only_full_group_by(存储过程一直报)
  • 【Go】EasyJson使用
  • Maven 进阶学习指南---setting详解
  • 测试Centos上用Gunicorn启动的Django-Web服务在Django源文件有改变的情况下能否自动重载最新源码下的web服务
  • 数据结构奇妙旅程之顺序表和链表
  • 进行主从复制时出现的异常FATAL CONFIG FILE ERROR (Redis 6.2.6)Reading the configuration file
  • Bean的加载方式
  • 利用vue3SeamlessScroll简单实现列表的无限循环滚动
  • V8引擎类型转换(VIP课程)
  • ConvBNReLU的作用
  • mac 聚焦搜索不显示
  • 三十六、seata的部署和集成
  • 前端面试JS—map 和 forEach 的区别
  • MxL3706-AQ-R 2.0通道绑定同轴网络集成电路特性
  • 模块 A:web理论测试
  • 「Python编程基础」第5章:列表