【LeetCode:1014. 最佳观光组合 + 思维题】

devtools/2024/9/24 4:49:02/

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • 思维
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 1014. 最佳观光组合

⛲ 题目描述

给你一个正整数数组 values,其中 values[i] 表示第 i 个观光景点的评分,并且两个景点 i 和 j 之间的 距离 为 j - i。

一对景点(i < j)组成的观光组合的得分为 values[i] + values[j] + i - j ,也就是景点的评分之和 减去 它们两者之间的距离。

返回一对观光景点能取得的最高分。

示例 1:

输入:values = [8,1,5,2,6]
输出:11
解释:i = 0, j = 2, values[i] + values[j] + i - j = 8 + 5 + 0 - 2 = 11
示例 2:

输入:values = [1,2]
输出:2

提示:

2 <= values.length <= 5 * 104
1 <= values[i] <= 1000

🌟 求解思路&实现代码&运行结果


思维

🥦 求解思路
  1. 该题目通过暴力方法比较好求解,但给定的数据范围较大,没办法通过,需要进一步优化。
  2. 具体怎么优化呢,基于暴力解基础求解,枚举右边的点,维护左边的答案。
  3. 枚举 j,同时维护在 j 左边的 values[i] + i 的最大值 max,然后用 max + values[j] − j 更新答案的最大值ans。
  4. 实现代码如下。
🥦 实现代码
java">class Solution {public int maxScoreSightseeingPair(int[] values) {int n = values.length;int ans = 0;int max = values[0];for (int i = 1; i < n; i++) {ans = Math.max(ans, max + values[i] - i);max = Math.max(max, values[i] + i);}return ans;}
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/devtools/116331.html

相关文章

【AI视频】复刻抖音爆款AI数字人作品初体验

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AI视频 | AI数字人 文章目录 &#x1f4af;前言&#x1f4af;抖音上的爆火AI数字人视频&#x1f4af;注册HeyGen账号&#x1f4af;复刻抖音爆款AI数字人&#x1f4af;最终生成效果&#x1f4af;小结 对比原视频效果&#xff1a;…

[PICO VR眼镜]眼动追踪串流Unity开发与使用方法,眼动追踪打包报错问题解决(Eye Tracking/手势跟踪)

前言 最近在做一个工作需要用到PICO4 Enterprise VR头盔里的眼动追踪功能&#xff0c;但是遇到了如下问题&#xff1a; 在Unity里面没法串流调试眼动追踪功能&#xff0c;根本获取不到Device&#xff0c;只能将整个场景build成APK&#xff0c;安装到头盔里&#xff0c;才能在…

2023年06月中国电子学会青少年软件编程(Python)等级考试试卷(二级)答案 + 解析

青少年软件编程(Python)等级考试试卷(二级) 一、单选题(共25题,共50分) 1. 运行以下程序,如果通过键盘先后输入的数是1和3,输出的结果是?( ) a=int(input()) b=int(input()) if a < b: a=b print(a) A. 3 1 B. 1 3 C. 1 D. 3 正确答案:D 答案解析&am…

双击热备 Electron网页客户端

安装流程&#xff1a; 1.下载node.js安装包进行安装 2.点击Next; 3.勾选&#xff0c;点击Next; 4.选择安装目录 5.选择Online 模式 6.下一步执行安装 。 7.运行cmd,执行命令 path 和 node --version&#xff0c;查看配置路径和版本 8.Goland安装插件node.js 9.配置运行…

专属文生图助手——SD3+ComfyUI文生图部署步骤

SD3ComfyUI文生图部署步骤 我们使用DAMODEL来实现文生图的部署。 根据提供的操作步骤与代码段落&#xff0c;本文旨在介绍如何下载并部署 Stable Diffusion 3 模型&#xff0c;并通过 ComfyUI 架构实现基于 Web 界面的图像生成应用。本文将剖析各个步骤&#xff0c;并详细解释…

Springboot请求响应练习

Springboot对于不同的请求进行响应 package com.wzb.ResponseExercise20240919;import com.wzb.ResponseExercise20240919.Result.Result; import com.wzb.ResponseExercise20240919.pojo.User; import jakarta.servlet.http.HttpServletRequest; import org.springframework.…

文件系统设计 - 开发文件系统 Store (上篇)

本节开始&#xff0c;我们将从最核心基础的文件系统进行设计实现&#xff0c;构建文件系统Store 一个基础的响应式Store类设计文件系统类接口小结 一个基础的响应式Store类 从Vue3 开始&#xff0c;Vue响应式借助Proxy重构后&#xff0c;整个响应式系统的应用变得非常的灵活&a…

Java集合(Map篇)

一.Map a.使用Map i.键值&#xff08;key-value&#xff09;映射表的数据结构&#xff0c;能高效通过key快速查找value&#xff08;元素&#xff09;。 ii.Map是一个接口&#xff0c;最常用的实现类是HashMap。 iii.重复放入k-v不会有问题&#xff0c;但是一个…