【无思路题目】Leetcode-1640. 能否连接形成数组
【JAVA】参考题解
1.思路是这样子的,先用哈希表的key存下pieces的每一行的第一个元素即p【0】,然后value存放相应的一维数组;
2.然后遍历arr数组,先查看每个值是否在map中,若存在,则找到相应的一维数组,然后遍历一维数组;若不存在返回false;
3.遍历一维数组的时候,若中间出现顺序或者值与arr当前值不一致的,返回false;
4.若顺序执行完两个for循环,返回true。
JAVA代码
class Solution {
public boolean canFormArray(int[] arr, int[][] pieces) {
Map<Integer,int[]> map = new HashMap();
for(int[] p : pieces){
map.put(p[0],p);
}
for(int i = 0;i < arr.length;){
int curVal = arr[i];
if(map.containsKey(curVal){
int[] p = map.get(curVal);
for(int j : p){
if(arr[i] == j){
i++;
}
else{
return false;
}
}
}else{
return false;
}
}
return true;
}
}
【无思路题目】Leetcode-1640. 能否连接形成数组的更多相关文章
- Leetcode 684.冗余连接
冗余连接 在本问题中, 树指的是一个连通且无环的无向图. 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成.附加的边的两个顶点包含在1到N中间,这条 ...
- 九度oj 题目1206:字符串连接
题目1206:字符串连接 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:5117 解决:2373 题目描述: 不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来 ...
- 【九度OJ】题目1206:字符串连接 解题报告
[九度OJ]题目1206:字符串连接 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1206 题目描述: 不借用任何字符串库函数实现无 ...
- python刷LeetCode:26. 删除排序数组中的重复项
难度等级:简单 题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外 ...
- LeetCode 4——两个排序数组中的中位数
1. 题目 2. 解答 2.1. 方法一 由于两个数组都是排好序的,因此首先可以想到的思路就是利用归并排序把两个数组合并成一个有序的长数组,然后直接取出中位数即可. class Solution: d ...
- LeetCode 81——搜索旋转排序数组 II
1. 题目 2. 解答 2.1. 方法一 基于 LeetCode 33--搜索旋转排序数组 中的方法二. 当 nums[mid] = nums[right] 时,比如 [1, 1, 2, 1, 1], ...
- LeetCode:搜索旋转排序数组【33】
LeetCode:搜索旋转排序数组[33] 题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ...
- 每天一道算法题目(18)——取等长有序数组的上中位数和不等长有序数组的第k小的数
1.取上中位数 题目: 给定两个有序数组arr1和arr2,两个数组长度都为N,求两个数组中所有数的上中位数.要求:时间复杂度O(logN). 例如: arr1 = {1, ...
- LeetCode#5 两个排序数组的中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 你可以假设 nums1 和 nums2 ...
随机推荐
- training set, validation set, test set的区别
training set: 用来训练模型 validation set : 用来做model selection test set : 用来评估所选出来的model的实际性能 我们知道,在做模型训练之 ...
- IDEA配置jQuery,$符号不再显示黄色波浪线
在使用IDEA搭建Maven的Web环境时,编写的JQuery入口函数时,遇到了未知符号的提示,并且在前端页面js的console里报错. 以下是错误信息: 解决方案: 继续看图: 配置成功生效: ...
- C面向对象: 升级版本实现:同步逻辑、少量连续失败则增补、多次连续失败则拉长同步周期
// C语言之 面向对象+虚事务的抽象 /*********** 进阶练习: (对虚的事物的抽象) 完善部门职责 ***********************/ #include <stdio ...
- CF538B Quasi Binary 思维题
题目描述 给出一个数 \(n\),你需要将 \(n\) 写成若干个数的和,其中每个数的十进制表示中仅包含\(0\)和\(1\). 问最少需要多少个数 输入输出格式 输入格式: 一行 一个数 \(n(1 ...
- STM32之旅6——WWDG
WWDG是stm32f103的窗口看门狗,使用的时钟是APB1的时钟,在使用wwdg是被一个小问题困扰了很久--没有打开中断,无法喂狗,一直复位. 初始化完之后需要使能中断: __HAL_WWDG_E ...
- 二进制K8S集群使用Bootstrap Token 方式增加Node
TLS Bootstraping:在kubernetes集群中,Node上组件kebelet和kube-proxy都需要与kube-apiserver进行通信,为了增加传输安全性,采用https方式, ...
- MeteoInfoLab脚本示例:天气现象符号
天气现象符号分布图实际就是散点图,可以用scatterm函数绘制,但之前需要创建天气符号图例,用weatherspec函数.如果只需要绘制某些天气现象(比如雾.霾),可以给出相应的天气符号序号列表(可 ...
- python 利用jieba库词频统计
1 #统计<三国志>里人物的出现次数 2 3 import jieba 4 text = open('threekingdoms.txt','r',encoding='utf-8').re ...
- 【C语言C++编程入门】程序的可读性和函数的调用!
一个简单程序的结构 你已经看过一个具体的例子,下面可以了解一些 C程序的基本规则了. 程序由一个或多个函数组成,其中一定有一个名为 main()的函数.函数的描述由函数头和函数体组成.函数头包括预处理 ...
- 【最大匹配+二分答案】HDU 2236 无题II
题目内容 这是一个简单的游戏,在一个\(n×n\)的矩阵中,找\(n\)个数使得这\(n\)个数都在不同的行和列里并且要求这\(n\)个数中的最大值和最小值的差值最小. 输入格式 输入一个整数\(T\ ...