每日一题——LeetCode1640.能否连接形成数组

news/2024/6/15 7:43:27 标签: 算法, javascript, leetcode

方法一 哈希表

本题题意其实是:每个pieces[i]都是个数组,如果pieces[i]是单元素数组那么只要arr里面也有这个元素就能连接成功,如果pieces[i]是多元素数组,那么arr里需要有一段和pieces[i]顺序和值完全相同的元素才能连接成功,比如arr=[49,18,16],pieces=[ [16,18,49] ],虽然16、18、49这三个元素在arr里面都有,但是他们出现的顺序不一样也不能连接成功

用Map集合记录pieces数组里每一项的首个元素和数组下标的对应关系,然后用pieces中的数组与arr相对应比较。

javascript">var canFormArray = function(arr, pieces) {
    const n = arr.length, m = pieces.length;
    const index = new Map();
    for (let i = 0; i < m; i++) {
        index.set(pieces[i][0], i);
    }
    for (let i = 0; i < n;) {
        if (!index.has(arr[i])) {
            return false;
        }
        const j = index.get(arr[i]), len = pieces[j].length;
        for (let k = 0; k < len; k++) {
            if (arr[i + k] != pieces[j][k]) {
                return false;
            }
        }
        i = i + len;
    }
    return true;
};

消耗时间和内存情况:


http://www.niftyadmin.cn/n/5418669.html

相关文章

爬虫与DataFrame对象小小结合

import pandas as pd import requests from lxml import etree #数据请求 url"https://www.maigoo.com/brand/list_1715.html" headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.289 Safari…

LeetCode 2710.移除字符串中的尾随零

给你一个用字符串表示的正整数 num &#xff0c;请你以字符串形式返回不含尾随零的整数 num 。 示例 1&#xff1a; 输入&#xff1a;num “51230100” 输出&#xff1a;“512301” 解释&#xff1a;整数 “51230100” 有 2 个尾随零&#xff0c;移除并返回整数 “512301” …

D. Exam in MAC - 思维

题面 分析 可以计算出 0 0 0 到 c c c 之间所有的对数&#xff0c;一共有 c 1 c 1 c1 个数&#xff0c;所以有(c 1) * (c 2) / 2 对。然后考虑什么情况可以导致出现不符合的情况&#xff1a; 1.可能会存在 x y x y xy 在集合中出现过的&#xff0c;那么对于集合中…

IOS面试题object-c 71-80

71. 简单介绍下NSURLConnection类及 + sendSynchronousRequest:returningResponse:error:与– initWithRequest:delegate:两个方法的区别?NSURLConnection 主要用于网络访问,其中 + sendSynchronousRequest:returningResponse:error:是同步访问数据,即当前线程会阻塞,并等待…

本地项目推送到腾讯云轻量应用服务器教程(并实现本地推送远程自动更新)

将本地项目上传到腾讯云轻量应用服务器并实现后续的推送更新&#xff0c;具体步骤如下&#xff1a; 在本地项目目录下初始化 Git 仓库&#xff1a; cd 项目目录 git init将项目文件添加到 Git 仓库并提交&#xff1a; git add . git commit -m "Initial commit"在…

光致发光谱荧光量子效率测量系统

荧光量子积分球是一个专门用于测量荧光量子效率的设备。荧光量子效率是指物质吸收光后所发射的荧光光子数与所吸收的激发光光子数之间的比值。这种设备通过比较待测荧光物质和已知荧光量子产率的参比物质&#xff0c;在相同激发条件下所测得的积分荧光强度&#xff08;即校正的…

583. 两个字符串的删除操作

给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1&#xff1a; 输入: word1 "sea", word2 "eat" 输出: 2 解释: 第一步将 "sea" 变为 "ea&q…

flutter 使用webview

背景&#xff1a; 一般都有使用webview加载网页的需求&#xff0c;比如加载隐私协议、用户协议等。 如何做&#xff1a; 当然&#xff0c;我们自己不用封装轮子&#xff0c;在pub.dev上有成熟的轮子&#xff1a;webview_flutter 首先&#xff0c;将依赖导入&#xff0c;在pub…