LeetCode 1764. 通过连接另一个数组的子数组得到一个数组

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

给你一个长度为 n 的二维整数数组 groups ,同时给你一个整数数组 nums 。

你是否可以从 nums 中选出 n 个 不相交 的子数组,使得第 i 个子数组与 groups[i] (下标从 0 开始)完全相同,且如果 i > 0 ,那么第 (i-1) 个子数组在 nums 中出现的位置在第 i 个子数组前面。(也就是说,这些子数组在 nums 中出现的顺序需要与 groups 顺序相同)

如果你可以找出这样的 n 个子数组,请你返回 true ,否则返回 false 。

如果不存在下标为 k 的元素 nums[k] 属于不止一个子数组,就称这些子数组是 不相交 的。
子数组指的是原数组中连续元素组成的一个序列。

示例 1:
输入:groups = [[1,-1,-1],[3,-2,0]], 
nums = [1,-1,0,1,-1,-1,3,-2,0]
输出:true
解释:你可以分别在 nums 中选出第 0 个子数组 [1,-1,0,1,-1,-1,3,-2,0] 
和第 1 个子数组 [1,-1,0,1,-1,-1,3,-2,0] 。
这两个子数组是不相交的,因为它们没有任何共同的元素。示例 2:
输入:groups = [[10,-2],[1,2,3,4]], 
nums = [1,2,3,4,10,-2]
输出:false
解释:选择子数组 [1,2,3,4,10,-2][1,2,3,4,10,-2] 是不正确的,
因为它们出现的顺序与 groups 中顺序不同。
[10,-2] 必须出现在 [1,2,3,4] 之前。示例 3:
输入:groups = [[1,2,3],[3,4]], 
nums = [7,7,1,2,3,4,7,7]
输出:false
解释:选择子数组 [7,7,1,2,3,4,7,7][7,7,1,2,3,4,7,7] 是不正确的,
因为它们不是不相交子数组。
它们有一个共同的元素 nums[4] (下标从 0 开始)。提示:
groups.length == n
1 <= n <= 10^3
1 <= groups[i].length, sum(groups[i].length) <= 10^3
1 <= nums.length <= 10^3
-10^7 <= groups[i][j], nums[k] <= 10^7

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/form-array-by-concatenating-subarrays-of-another-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 按题意模拟
class Solution {
public:bool canChoose(vector<vector<int>>& groups, vector<int>& nums) {int i = 0, j = 0, n1 = groups.size(), n2 = nums.size();while(i < n1 && j < n2){int k = 0, len = groups[i].size();int J = j;while(k < len && j < n2){if(groups[i][k] == nums[j])k++, j++;elsebreak;}if(k != len)j = J+1;elsei++;}return i == n1;}
};

20 ms 12.9 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

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

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

相关文章

db文件怎么修改_MongoDB最新4.2.7版本三分片集群修改IP实操演练

背景重新组网&#xff0c;需要对现有MongoDB分片集群服务器的IP进行更改&#xff0c;因此也需要对MongoDB分片集群的IP也进行相应的更新&#xff0c;而MongoDB分片集群的IP修改不能单纯的通过配置来进行&#xff0c;需要一番折腾后才能正常更新&#xff0c;这里对整个MongoDB集…

cron 每周一执行_详解定时任务中的 cron 表达式

1.前言 我们经常使用 cron 表达式来定义定时任务的执行策略,今天我们就总结一下 cron 表达式的一些相关知识。 2. cron 表达式的定义 cron 表达式是一个字符串,该字符串由 6 个空格分为 7 个域,每一个域代表一个时间单位。格式如下: [秒] [分] [时] [日] [月] [周] [年] 通…

OGEngine教程:声音载入

以下介绍声音资源从载入到播放的一个流程 首先&#xff0c;我们将须要的音频文件放到assets文件夹下&#xff0c;OGE中SoundRes和MusicRes为我们封装了非常多经常使用的方法&#xff0c;能够用于载入及播放等经常使用功能。 载入 //设置声音读取路径 Device.getDevice().getSou…

LeetCode 1765. 地图中的最高点(BFS)

文章目录1. 题目2. 解题1. 题目 给你一个大小为 m x n 的整数矩阵 isWater &#xff0c;它代表了一个由 陆地 和 水域 单元格组成的地图。 如果 isWater[i][j] 0 &#xff0c;格子 (i, j) 是一个 陆地 格子。 如果 isWater[i][j] 1 &#xff0c;格子 (i, j) 是一个 水域 格…

LeetCode 1768. 交替合并字符串

文章目录1. 题目2. 解题1. 题目 给你两个字符串 word1 和 word2 。 请你从 word1 开始&#xff0c;通过交替添加字母来合并字符串。 如果一个字符串比另一个字符串长&#xff0c;就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 示例 1&#xff1a; 输入…

.git文件夹_Git幸存者指南

> Learn how to use Git to version control a cake recipe… and other things like code!或如何用Git烤蛋糕Git很难。 Git令人生畏。 学习曲线很大。 作为软件工程师&#xff0c;这至关重要。Git是用于版本控制的行业标准。 这是我们大多数人在学校或编码训练营中都不学的…

mysql偏移注入_移位溢注:告别靠人品的偏移注入

*本文原创作者&#xff1a;SeagullGR&#xff0c;本文属FreeBuf原创奖励计划&#xff0c;未经许可禁止转载在Access数据库类型注入的时候&#xff0c;我们获取不到列名(前提是有表名)&#xff0c;一般会选择使用偏移注入&#xff0c;但是这种注入方式往往借助的是个人的人品&am…

LeetCode 1769. 移动所有球到每个盒子所需的最小操作数(前缀和)

文章目录1. 题目2. 解题1. 题目 有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes &#xff0c;其中 boxes[i] 的值为 0 表示第 i 个盒子是 空 的&#xff0c;而 boxes[i] 的值为 1 表示盒子里有 一个 小球。 在一步操作中&#xff0c;你可以将 一个 小球从某个盒子移动到…

python3知识点汇总_35个高级Python知识点总结

No.1 一切皆对象 众所周知&#xff0c;Java中强调“一切皆对象”&#xff0c;但是Python中的面向对象比Java更加彻底&#xff0c;因为Python中的类(class)也是对象&#xff0c;函数&#xff08;function&#xff09;也是对象&#xff0c;而且Python的代码和模块也都是对象。 Py…

LeetCode 1770. 执行乘法运算的最大分数(DP)

文章目录1. 题目2. 解题1. 题目 给你两个长度分别 n 和 m 的整数数组 nums 和 multipliers &#xff0c;其中 n > m &#xff0c;数组下标 从 1 开始 计数。 初始时&#xff0c;你的分数为 0 。 你需要执行恰好 m 步操作。在第 i 步操作&#xff08;从 1 开始 计数&#x…

统计--过滤(筛选)索引的统计信息过期问题测试

基础知识普及&#xff1a; 对于筛选索引&#xff0c;MSDN如是说&#xff1a; 筛选索引是一种经过优化的非聚集索引&#xff0c;尤其适用于涵盖从定义完善的数据子集中选择数据的查询。 筛选索引使用筛选谓词对表中的部分行进行索引。 与全表索引相比&#xff0c;设计良好的筛选…

IDEA连接mysql出现时区错误_idea连接数据库时区错误

错误界面IDEA连接mysql&#xff0c;地址&#xff0c;用户名&#xff0c;密码&#xff0c;数据库名&#xff0c;全都配置好了&#xff0c;点测试连接&#xff0c;咔&#xff01;不成功&#xff01;界面是这样的&#xff0c;翻译过来就是&#xff1a;服务器返回无效时区。进入“高…

LeetCode 1771. 由子序列构造的最长回文串的长度(最长回文子序)

文章目录1. 题目2. 解题1. 题目 给你两个字符串 word1 和 word2 &#xff0c;请你按下述方法构造一个字符串&#xff1a; 从 word1 中选出某个 非空 子序列 subsequence1 。从 word2 中选出某个 非空 子序列 subsequence2 。连接两个子序列 subsequence1 subsequence2 &…

python牛顿法计算平方根_常用的平方根算法详解与实现

本文从属于笔者的数据结构与算法系列文章。 SquareRoot 平方根计算一直是计算系统的常用算法&#xff0c;本文列举出几张简单易懂的平方根算法讲解与实现。其中Java版本的代码参考这里 Reference Babylonian:巴比伦算法/牛顿法 巴比伦算法可能算是最早的用于计算$sqrt{S}$的算法…

什么是spring_Spring 源码第三弹!EntityResolver 是个什么鬼?

上篇文章和小伙伴们说了 Spring 源码中 XML 文件的解析流程&#xff0c;本来可以继续往下走看加载核心类了&#xff0c;但是松哥还是希望能够慢一点&#xff0c;既然要学就学懂&#xff0c;在 XML 文件解析的过程中还涉及到一些其他的类和概念&#xff0c;因此我就先用几篇文章…

从RAID看垂直伸缩到水平伸缩的演化

learn from 从0开始学大数据&#xff08;极客时间&#xff09; 大规模数据存储问题&#xff1a; 容量问题&#xff0c;数据量超过磁盘容量读写速度&#xff0c;磁盘读写慢数据可靠性&#xff0c;磁盘寿命问题 RAID&#xff08;独立磁盘冗余阵列&#xff09; 是将多块普通磁盘…

linux安装g++编译器_Ubuntu Desktop下配置Rosetta安装教程

作者: 吴炜坤本文仅在虚拟机环境下测试&#xff0c;可能实际操作中会遇到不同的问题本文是新手向的安装教程&#xff0c;如果需要在CentOS上安装&#xff0c;可以参考本人其他安装教程由于许多新人朋友在学习Rosetta过程中&#xff0c;通常操作系统选择的都是带美丽漂亮界面便于…

HDFS依然是存储的王者

learn from 从0开始学大数据&#xff08;极客时间&#xff09; 1. HDFS 架构 DataNode 负责数据的存储、读写&#xff0c;HDFS 将文件分割成若干数据块&#xff08;Block&#xff09;&#xff0c;每个 DataNode 存储一部分数据块&#xff0c;文件就分布存储在整个 HDFS 服务器集…

DateTime和字符串转换问题

DateTime和string之间的相互转换经常碰到,可就这么简单的一个转换其中也有些需要注意的地方. 1 static void Main(string[] args)2 {3 string format "yyyy/MM/dd HH:mm:ss";4 DateTimeFormatInfo dtfi DateTimeFormatInf…

.net 5 正式版_.NET 5正式版快来了

微软已在5月19号发布了.NET 5.0的第四个预览版。什么是.NET 5.NET 5.0.NET 5.0是.NET Framework和.NET Core核心的结合&#xff0c;旨在统一.NET平台&#xff0c;微软将其描述为“.NET的未来”&#xff0c;正式版预计将于2020年11月10日发布。.NET 5.0的高级目标包括提供统一的…