ARTS Week 23

Algorithm

本周的算法题为 1014. 最佳观光组合

给你一个正整数数组 values,其中 values[i] 表示第 i 个观光景点的评分,并且两个景点 ij 之间的 距离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

实现代码如下:

const maxScoreSightseeingPair = function (values{
    let maxValue = 0
    let maxPrev = values[0// 记录前面位置能够得到的最大得分

    for (let i = 1; i < values.length; i++) {
        maxValue = Math.max(maxValue, maxPrev + values[i] - i) // 计算当前位置的得分
        maxPrev = Math.max(maxPrev, values[i] + i) // 更新前面位置能够得到的最大得分
    }
    return maxValue
}

解题思路:

一开始我以为使用两个for循环然后通过Math.max()比较一下取最大值就解出来,然后提交到力扣后,提示超出时间限制。

为了解决这个问题,可以使用动态规划来优化算法以避免重复计算,通过调整计算公式为values[i] + i + (values[j] - j),可以将当前位置的值加上索引值,再加上下一个位置的值减去索引值,然后取最大值。因此,可以将values[i] + ivalues[j] - j分别都取最大值,然后再比较两者的和,从而得到观光景点能取得的最高分。

Review

Human speech is 8 times older than we thought - Breaking News English Lesson

研究人员表示,他们已经找到了人类开始说话的可能历史时期。考古学家、史前史专家史蒂文·米森博士认为,基础语言形成于大约160万年前。这比许多科学家之前认为的时间早了八倍。进化学专家先前认为,人类口头语言始于大约20万年前。米森表示,他的研究显示,第一种人类语言要么在东非,要么在南非发展起来的。他说,说话的能力促进了进化。他说,语言“无疑是使随后大部分人类身体和文化进化成为可能的关键”。

米森博士在他的新书《语言之谜》(The Language Puzzle)中解释了他认为人类语言是如何在如此久远的过去发展起来的。他说,我们的大脑在大约150万年前迅速增大。这种增长改变了我们大脑的结构。一个称为额叶的区域发展了起来,这是大脑产生语言的部分。另一个重要的变化是我们声道的发育,这是我们产生声音,因此得以说话的地方。米森说,语言让人类得以传播到世界各地。这意味着人类可以做三件重要的事情。他们可以考虑和计划未来的行动,他们还可以传授知识。米森说,语言“深刻地改变了人类的故事”。

Tip

打算将自己博客使用的PaperMod主题更新一下,然后放弃本地的修改,因为使用git pull时提示了本地有变动的部分,需要先处理才行,我觉得不是很重要,就打算放弃本地修改,强制更新,使用如下命令:

git fetch --all     
git reset --hard origin/master
git clean -f -d

三个命令解释如下:

  1. git fetch --all:从远程仓库获取最新的内容。
  2. git reset --hard origin/master:将本地仓库的内容重置为与远程仓库相同,包括放弃任何本地修改。
  3. git clean -f -d:清除工作目录中未跟踪的文件和目录。

Share

抓而不紧,等于不抓。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/780341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

洛谷 P8783 [蓝桥杯 2022 省 B] 统计子矩阵

题目描述 给定一个 NM 的矩阵 A&#xff0c;请你统计有多少个子矩阵 (最小 1111, 最大 NM 满足子矩阵中所有数的和不超过给定的整数 K。 输入格式 第一行包含三个整数 N,M 和 K。 之后 N 行每行包含 M 个整数, 代表矩阵 A。 输出格式 一个整数代表答案。 输入输出样例 …

vue3使用UEditorPlus 、后端配置、上传图片等处理

前端安装 vue3安装vue-ueditor-wrap // vue-ueditor-wrap v3 仅支持 Vue 3 npm i vue-ueditor-wrap3.x -S // or yarn add vue-ueditor-wrap3.x 下载 UEditorPlus 仓库地址 把dist文件复制到vue3项目中的public下&#xff0c;重命名为UEditorPlus UEditorPlus文档 在main.…

ArcGIS支持下SWAT与CENTURY模型的结合:流域水碳氮综合模拟

目录 专题一 流域水碳氮建模 专题二 数据准备 专题三 流域水模拟 专题四 流域氮模拟 专题五 流域碳模拟 专题六 模型结果分析及地图制作 更多应用 基于ArcGIS的SWAT模型是一类比较典型的流域模型&#xff0c;结合SWAT模型和生物地球化学循环模型可以实现流域水碳氮综合模…

[EFI]Dell Inspiron 15 5567 电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况主板 Dell Inspiron 15R 5567 处理器Intel Core i7-7500U 2.50 GHz Processor (4M Cache, up to 3.50 GHz)已驱动内存8GB, 2400MHz, DDR4, up to 16GB已驱动硬盘东芝 NVMe 512G已驱动显卡Intel HD Graphics 620已驱动声卡ALC3246 Analog (ALC256)已驱动网卡无无…

根据实例逐行分析NIO到底在做什么

Selector&#xff08;选择器&#xff09;是 Channel 的多路复用器&#xff0c;它可以同时监控多个 Channel 的 IO 状况&#xff0c;允许单个线程来操作多个 Channel。Channel在从Buffer中获取数据。 选择器、通道、缓冲池是NIO的核心组件。 一、新建选择器 此时选择器内只包含…

Nginx-记

Nginx是一个高性能的web服务器和反向代理服务器&#xff0c;用于HTTP、HTTPS、SMTP、POP3和IMAP协议。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 &#xff08;1&#xff09;更快 这表现在两个方面&#xff1a;一方面&#xff0c;在正常情况下&…

【OpenGL】使用 python + Qt + OpenGL 的现代渲染

伴随资源 目录 一、说明二、 关于PyQt6.x2.1 QOpenGLWidget详细说明2.2 绘画技巧 三、PyOpenGL四、OpenGL 管线五、Python集成开发环境5.1 Emacs配置5.2 pycharm环境 六、你好&#xff0c;OpenGL&#xff01;七、QGL控件八、平截头体.svg九、定义几何9.1 立即模式与保留模式9…

awk使用场景案例

1、从nginx访问日志统计访问top10的IP awk {a[$1]}END{for (i in a)print i,a[i] } access.log |sort -k2 -nr|head -10解释说明&#xff1a; awk {a[$1]} 用a数列获取第一个数据&#xff0c;表示统计END{for (i in a)print i,a[i] } END用来写循环语句&#xff0c;用for循环…

OpenAI发布Voice Engine模型!用AI合成你的声音!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

2024年150道高频Java面试题(八)

15. 什么是 Java 中的注解&#xff1f;它有哪些用途&#xff1f; Java 中的注解&#xff08;Annotation&#xff09;是一种用于为代码添加元数据的机制。简而言之&#xff0c;注解是提供给编译器或运行时环境的信息&#xff0c;用来解释或说明代码的某些方面。注解不会改变代码…

比torchvision更强大,从timm库引用预训练模型和本地加载的方法

1&#xff0c;介绍 torchvision是大家最常用的预训练模型来源&#xff0c;但是其包含的预训练模型种类很少&#xff0c;往往并不能满足研究者们的需求。 而timm库提供了一个更强大的替代选项。 利用如下代码查询 import timmprint(len(timm.list_models())) 输出 1032 可…

c++编译出来的程序a,当在linux 系统终端执行./a 发生了哪些事情?

路径解析&#xff1a; 用户输入 ./a 并按下回车。终端中的 shell&#xff08;如 bash、zsh 等&#xff09;开始解析这个命令&#xff0c;确认 a 是一个可执行文件并且存在于当前目录中。权限检查&#xff1a; Shell 检查 a 文件是否具有执行权限。如果没有执行权限&#xff0c;…

FastAPI+React全栈开发14 FastAPI如何开发REST接口

Chapter03 Getting Started with FastAPI 14 How does FastAPI speak REST FastAPIReact全栈开发14 FastAPI如何开发REST接口 Let’s create a minial FastAPI application, a classic Hello World example, and start examining how FastAPI structures the endpoints. I u…

Android Studio 2023.2.1版本 kotlin编译报错踩坑

1、需求 由于最近在整理项目&#xff0c;做一些公共基础组件Maven仓库封装&#xff0c;由于之前项目jar包和kotlin版本很老&#xff0c;kotlin版本1.3.72版本 Gradle使用5.4.1 Android Studio版本是2023.2.1&#xff0c;分别依次顺序如下图所示。 如下图所示 2、分析编译报错…

如何利用大模型LLM辅助,使用Python完成将CSV快速导入MySQL数据库

目录 一、适合场景 二、开发过程说明 三、功能使用流程 四、代码 1、安装python依赖库 2、完整代码段 一、适合场景 无废话&#xff0c;CSV中有少量不合规数据需要手工处理可利用此方法&#xff0c;适合有点经验的程序员&#xff0c;可以不熟Python&#xff0c;思路还是要…

第三十七章 管理和监控Web网关 - Web 网关缓存表

文章目录 第三十七章 管理和监控Web网关 - Web 网关缓存表Web 网关缓存表手动关闭连接清除缓存测试服务器连接 第三十七章 管理和监控Web网关 - Web 网关缓存表 Web 网关缓存表 第四个状态表列出了 Web Gateway 响应缓存中保存的表单。 Cached Forms - 缓存表单的名称&#x…

图像旋转算法双线性插值法详解

双线性插值法是一种常用的插值算法&#xff0c;用于在图像旋转、缩放等操作中估计目标像素的灰度值。它基于近邻像素之间的灰度变化趋势进行推断&#xff0c;从而提供更平滑和精确的结果。 双线性插值算法的基本思想如下&#xff1a; 首先&#xff0c;根据旋转角度确定旋转中心…

vue2完结

笔记 关于不同版本的Vue: 1.vue.js与vue.runtime.xxx.js的区别&#xff1a;&#xff08;1&#xff09;vue.js是完整版的Vue,包含&#xff1a;核心功能模板解析器&#xff08;2&#xff09;vue.runtime.xxx.js是运行版本的Vue,只包含核心功能&#xff0c;没有模板解析器 2.因为…

docker快速安装单节点和多点MongoDB副本集

文章目录 概要一、单节点副本集二、多节点副本集三、参考 概要 最近项目的MongoDB版本终于升级到了MongoDB4.4了&#xff0c;可以使用使用事务了&#xff0c;但MongoDB的不支持单节点事务&#xff0c;至少是副本集。 测试环境没必要搭建复杂的副本集&#xff0c;还好官方给出了…