1460。通过反转子数组使两个数组相等
简单
给定两个长度相等的整数数组 target 和 arr。一步中,您可以选择 arr 的任何非空子数组 并将其反转。您可以执行任意数量的步骤。
如果可以使 arr 等于 target,则返回 true,否则返回 false。
示例1:
- 输入: target = [1,2,3,4], arr = [2,4,1,3]
- 输出: true
-
说明:您可以按照以下步骤将 arr 转换为 target:
- 反转子数组 [2,4,1],arr 变为 [1,4,2,3]
- 反转子数组[4,2],arr变为[1,2,4,3]
- 反转子数组[4,3],arr变为[1,2,3,4]
- 将 arr 转换为 target 有多种方法,这不是唯一的方法。
示例2:
- 输入: target = [7], arr = [7]
- 输出: true
- 解释: arr 等于 target,没有任何反转。
示例 3:
- 输入: target = [3,7,9], arr = [3,7,11]
- 输出: false
- 解释: arr 的值不为 9,并且永远无法转换为目标。
约束:
- target.length == arr.length
- 1
- 1
- 1
提示:
- target的每个元素在arr中都应该有对应的元素,如果没有对应的元素,则返回false。
- 要轻松解决此问题,您可以对两个数组进行排序并检查它们是否相等。
解决方案:
要解决这个问题,我们可以按照以下步骤操作:
- 检查两个数组是否具有相同频率的相同元素。如果有,则意味着可以通过反转子数组将一个数组转换为另一个数组。对两个数组进行排序并比较它们是实现此目的的简单方法。
让我们用 PHP 实现这个解决方案:1460。通过反转子数组使两个数组相等
<?php function canBeEqual($target, $arr) { // Sort both arrays sort($target); sort($arr); // Compare the sorted arrays return $target == $arr; } // Test cases $target1 = [1, 2, 3, 4]; $arr1 = [2, 4, 1, 3]; echo canBeEqual($target1, $arr1) ? 'true' : 'false'; // Output: true $target2 = [7]; $arr2 = [7]; echo canBeEqual($target2, $arr2) ? 'true' : 'false'; // Output: true $target3 = [3, 7, 9]; $arr3 = [3, 7, 11]; echo canBeEqual($target3, $arr3) ? 'true' : 'false'; // Output: false ?>
解释:
- 数组排序:通过对target和arr进行排序,可以保证如果它们有相同频率的相同元素,排序后它们会变得相同。
- 比较排序数组:如果 target 的排序版本等于 arr 的排序版本,则意味着 arr 可以通过反转子数组转换为 target,因为元素及其频率匹配。
要点:
- 排序:这一步确保我们可以直接比较两个数组中的元素。
- 比较:排序后,直接比较(==)足以检查两个数组是否可以通过子数组反转来相等。
该解决方案利用了 PHP 中数组的排序和比较特性,使其既简单又高效。
联系链接
如果您发现本系列有帮助,请考虑在 GitHub 上给 存储库 一个星号或在您最喜欢的社交网络上分享该帖子?。您的支持对我来说意义重大!
如果您想要更多类似的有用内容,请随时关注我:
- 领英
- GitHub
以上是通过反转子数组使两个数组相等的详细内容。更多信息请关注PHP中文网其他相关文章!

长URL(通常用关键字和跟踪参数都混乱)可以阻止访问者。 URL缩短脚本提供了解决方案,创建了简洁的链接,非常适合社交媒体和其他平台。 这些脚本对于单个网站很有价值

在Facebook在2012年通过Facebook备受瞩目的收购之后,Instagram采用了两套API供第三方使用。这些是Instagram Graph API和Instagram Basic Display API。作为开发人员建立一个需要信息的应用程序

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

这是有关用Laravel后端构建React应用程序的系列的第二个也是最后一部分。在该系列的第一部分中,我们使用Laravel为基本的产品上市应用程序创建了一个RESTFUL API。在本教程中,我们将成为开发人员

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

2025年的PHP景观调查调查了当前的PHP发展趋势。 它探讨了框架用法,部署方法和挑战,旨在为开发人员和企业提供见解。 该调查预计现代PHP Versio的增长


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

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

SublimeText3汉化版
中文版,非常好用

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

Dreamweaver Mac版
视觉化网页开发工具