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

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,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. 实现代码如下。
🥦 实现代码
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.xdnf.cn/news/149492.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

5G-A“用铲子挖金子”,为何在云南地区商用成功?

作者 | 曾响铃 文 | 响铃说 随着技术的成熟与应用&#xff0c;AI、5G-A、物联网等前沿技术领域在市场看来都属于“金矿”型产业&#xff0c;蕴藏着巨大的经济财富。然而&#xff0c;在如今的市场上&#xff0c;“挖金子”的不好过&#xff0c;反而是卖“铲子”的人赚得盆满钵…

MySQL --基本查询(下)

文章目录 3.Update3.1将孙悟空同学的数学成绩变更为 80 分3.2将曹孟德同学的数学成绩变更为 60 分&#xff0c;语文成绩变更为 70 分3.3将总成绩倒数前三的 3 位同学的数学成绩加上 30 分3.4将所有同学的语文成绩更新为原来的 2 倍 4.Delete4.1删除数据4.1.1删除孙悟空同学的考…

微软推迟在MDM设备上启用OOBE强制更新 因为IT管理员反馈称缺乏控制

微软很久之前就计划在 Windows 10/11 OOBE 期间强制下载更新&#xff0c;即若检测到系统本身属于旧版本例如并未安装最新累积更新&#xff0c;则在 OOBE 期间强制下载最新累积更新并自动安装。这种更新方式已经在面向消费者的设备上启用&#xff0c;而上周微软则是在适用于企业…

CSS文档流以及脱离文档流的方法

文档流 文档流是文档中可显示对象在排列时占用的位置/空间。例如&#xff1a;块元素自上而下摆放&#xff0c;内联元素从左到右摆放。&#xff08;文档流中限制非常的多&#xff0c;导致很多页面效果无法实现)。 常见文档流限制 高低不齐&#xff0c;底边对齐 <head>&…

机器学习之概念1

今天去上机器学习的课&#xff0c;其中我觉得可以套用之前学的强化学习&#xff0c;其中P是评估&#xff0c;T是任务&#xff0c;E是经验&#xff0c;就是利用经验来提高相关的评估任务&#xff0c;从数据中学习&#xff0c;从统计机器中学习&#xff0c;其中可以分为有监督的机…

大型语言模型(Large Language Models)的介绍

背景 大型语言模型&#xff08;Large Language Models&#xff0c;简称LLMs&#xff09;是一类先进的人工智能模型&#xff0c;它们通过深度学习技术&#xff0c;特别是神经网络&#xff0c;来理解和生成自然语言。这些模型在自然语言处理&#xff08;NLP&#xff09;领域中扮…

MySQL | 实战 | 4 种将数据同步到ES方案

文章目录 1. 前言2. 数据同步方案2.1 同步双写2.2 异步双写2.3 定时更新2.4 基于 Binlog 实时同步 3. 数据迁移工具选型3.1 Canal3.2 阿里云 DTS3.3 Databus3.4 Databus和Canal对比3.4 其它 4. 后记 上周听到公司新同事分享 MySQL 同步数据到 ES 的方案&#xff0c;发现很有意思…

独立游戏《Project:Survival》UE5C++开发日志0——游戏介绍

该游戏是《星尘异变》团队的下一款作品&#xff0c;太空科幻题材的生存游戏&#xff0c;我将负责使用C、蓝图实现游戏的基础框架和核心功能&#xff0c;其中还包含使用人工智能算法助力游戏开发或帮助玩家运营 目前已有功能&#xff1a; 1.3D库存系统&#xff1a;所有库存中的物…

【运维监控】influxdb 2.0 + grafana 11 监控jmeter 5.6.3 性能指标(完整版)

运维监控系列文章入口&#xff1a;【运维监控】系列文章汇总索引 文章目录 一、部署influxdb2.0二、部署grafana三、jmeter配置1、下载jmeter插件2、部署jmeter插件3、添加Backend Listener 四、grafana集成influxdb监控jmeter1、建立grafana数据源2、导入grafana模板3、验证1&…

秒表【JavaScript】

这个代码实现了一个基本的功能性秒表。 实现功能&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sc…

文档矫正算法:DocTr++

文档弯曲矫正&#xff08;Document Image Rectification&#xff09;的主要作用是在图像处理领域中&#xff0c;对由于拍摄、扫描或打印过程中产生的弯曲、扭曲文档进行校正&#xff0c;使其恢复为平整、易读的形态。 一. 论文和代码 论文地址&#xff1a;https://arxiv.org/…

Android NestedScrollView+TabLayout+ViewPager+ 其它布局,ViewPager 不显示以及超出屏幕不显示问题

前言 此场景为 NestedScrollView 嵌套多个布局 &#xff0c;大致结构为 NestedScrollViewTabLayoutViewPagerfragment 其它View,如下图 &#xff0c; 一、ViewPager 设置高度才会显示内容问题 原因&#xff1a;NestedScrollView 计算高度先于 ViewPager 渲染前&#xff0c;所…

动手学深度学习8.7. 通过时间反向传播-笔记练习(PyTorch)

本节课程地址&#xff1a;本节无视频 本节教材地址&#xff1a;8.7. 通过时间反向传播 — 动手学深度学习 2.0.0 documentation (d2l.ai) 本节开源代码&#xff1a;...>d2l-zh>pytorch>chapter_multilayer-perceptrons>bptt.ipynb 通过时间反向传播 到目前为止&…

输出Hate-C语言

1.问题&#xff1a; C语言实现先后输出Hate四个字符。 2.解答&#xff1a; 定义4个字符变量&#xff0c;分别赋以初值H、a、t、e&#xff0c;然后用putchar函数输出4个字符变量的值。 3.代码&#xff1a; #include<stdio.h>int main(){char character1,character2,ch…

ArcGIS Desktop使用入门(三)图层右键工具——拓扑(下篇:地理数据库拓扑)

系列文章目录 ArcGIS Desktop使用入门&#xff08;一&#xff09;软件初认识 ArcGIS Desktop使用入门&#xff08;二&#xff09;常用工具条——标准工具 ArcGIS Desktop使用入门&#xff08;二&#xff09;常用工具条——编辑器 ArcGIS Desktop使用入门&#xff08;二&#x…

CSS中的多种关系选择器

后代选择器 选择所有被E元素包含的F元素&#xff0c;中间用空格隔开。 例&#xff1b; <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title…

使用Docker一键部署Blossom笔记软件

Blossom 是一个需要私有部署的笔记软件,虽然本身定位是一个云端软件,但你仍然可以在本地部署,数据和图片都将保存在你的设备,不依赖任何的图床或者对象存储。 客户端:支持 Windows 端和 ARM 架构的 Mac 端,以及作为网页端部署。移动端:响应式网页移动端,主要为移动端设…

基于单片机的智能窗帘控制系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;采用DHT11温湿度传感器检测温湿度&#xff0c;滑动变阻器连接ADC0832数模转换器转换模拟,光敏传感器&#xff0c;采用GP2D12红外传感器&#xff0c;通过LCD1602显示屏显示…

3DMAX乐高建筑生成器插件LegoBuilding使用方法详解

3DMAX乐高建筑生成器插件LegoBuilding使用教程 3DMAX乐高建筑生成器插件LegoBuilding&#xff0c;一键批量生成随机的乐高积木样式建筑群&#xff0c;可作为配景楼建模使用。可根据闭合样条线画定范围或地形&#xff08;网格&#xff09;对象表面范围和起伏批量生成随机形状的乐…

浮游生物检测系统源码分享

浮游生物检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…