1014。最佳观光配对
难度:中等
主题:数组,动态规划
给你一个整数数组values,其中values[i]代表第i个个景点的值。两个景点 i 和 j 之间的距离为 j - i。
一对(i
返回一对游览点的最高分。
示例1:
- 输入: 值 = [8,1,5,2,6]
- 输出: 11
- 解释: i = 0, j = 2, 值[i] 值[j] i - j = 8 5 0 - 2 = 11
示例2:
- 输入:值= [1,2]
- 输出: 2
约束:
- 2 4
- 1
提示:
- 你能一次性说出最好的观光景点吗(即,当你迭代输入时?)当我们迭代执行此操作时,我们应该存储或跟踪什么?
解决方案:
我们可以使用具有线性时间复杂度的单遍方法O(n)。这个想法是在我们迭代数组时跟踪最好的可能值[i] i。这使我们能够最大化每个有效对 (i, j) 的分值[i]值[j] i - j。
让我们用 PHP 实现这个解决方案:1014。最佳观光配对
<?php /** * @param Integer[] $values * @return Integer */ function maxScoreSightseeingPair($values) { ... ... ... /** * go to ./solution.php */ } // Example usage: $values1 = [8, 1, 5, 2, 6]; echo maxScoreSightseeingPair($values1); // Output: 11 $values2 = [1, 2]; echo maxScoreSightseeingPair($values2); // Output: 2 ?>
解释:
-
初始化:
- maxI 被初始化为values[0],因为我们从索引1开始评估对。
- maxScore 初始化为 0 以跟踪最高分数。
-
迭代数组:
- 对于从 1 开始的每个索引 j,使用以下公式计算 (i, j) 对的分数: 分数 = maxI 值[j] - j
- 用获得的最大值更新 maxScore。
-
更新 maxI:
- 更新 maxI 以跟踪下一次迭代的 value[i] i 的最大可能值。
-
返回最高分数:
- 迭代数组后,maxScore 将包含任何对的最大分数。
复杂:
- 时间复杂度: O(n) 因为我们循环遍历数组一次。
- 空间复杂度: O(1),因为我们使用恒定的空间量。
该解决方案在遵守约束的同时有效计算最大分数,并针对大输入进行了优化。
联系链接
如果您发现本系列有帮助,请考虑在 GitHub 上给 存储库 一个星号或在您最喜欢的社交网络上分享该帖子?。您的支持对我来说意义重大!
如果您想要更多类似的有用内容,请随时关注我:
- 领英
- GitHub
以上是最佳观光组合的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了PHP中的crypt()和password_hash()之间的差异,以进行密码哈希,重点介绍其实施,安全性和对现代Web应用程序的适用性。

文章讨论了通过输入验证,输出编码以及使用OWASP ESAPI和HTML净化器之类的工具来防止PHP中的跨站点脚本(XSS)。

自动加载PHP会在需要时自动加载类文件,从而通过减少内存使用和增强代码组织来提高性能。最佳实践包括使用PSR-4和有效组织代码。

本文讨论了在PHP中管理文件上传大小的管理,重点是2MB的默认限制以及如何通过修改PHP.INI设置来增加它。

本文讨论了PHP 7.1中引入的PHP中的无效类型,允许变量或参数为指定类型或NULL。它突出显示了诸如提高可读性,类型安全性和明确意图的好处,并解释了如何声明

本文讨论了unset()和unlink()功能在编程中的差异,重点关注其目的和用例。 unset()从内存中删除变量,而unlink()从文件系统中删除文件。两者都对效率至关重要

PHP特征在单个继承上下文中启用代码重复使用,从而提供可重复性和简化继承之类的好处。它们可以有效地与传统的继承相结合,以增强阶级灵活性和模块化。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

记事本++7.3.1
好用且免费的代码编辑器