zoukankan      html  css  js  c++  java
  • 1640. Check Array Formation Through Concatenation

    package LeetCode_1640
    
    import java.util.*
    
    /**
     * 1640. Check Array Formation Through Concatenation
     * https://leetcode.com/problems/check-array-formation-through-concatenation/
     *
     * You are given an array of distinct integers arr and an array of integer arrays pieces, where the integers in pieces are distinct.
     * Your goal is to form arr by concatenating the arrays in pieces in any order.
     * However, you are not allowed to reorder the integers in each array pieces[i].
    Return true if it is possible to form the array arr from pieces. Otherwise, return false.
    
    Example 1:
    Input: arr = [85], pieces = [[85]]
    Output: true
    
    Example 2:
    Input: arr = [15,88], pieces = [[88],[15]]
    Output: true
    Explanation: Concatenate [15] then [88]
     * */
    class Solution {
        /*
        * solution: check every item in pieces if sublist of arr,
        * m = arr.size
        * n = pieces.size
        * Time complexity: O(n*(m-max(pieces[i]))*max(pieces[i])), Space complexity: O(1)
        * */
        fun canFormArray(arr: IntArray, pieces: Array<IntArray>): Boolean {
            val list = arr.toList()
            for (item in pieces) {
                val index = Collections.indexOfSubList(list, item.toList())
                if (index == -1) {
                    return false
                }
            }
            return true
        }
    }
  • 相关阅读:
    C++ 安全字符串拼接
    C code 字符串与整数的相互转化
    深入解析:分布式系统的事务处理经典问题及模型
    .NET分布式事务处理总结【下】
    用csc命令行手动编译cs文件
    委托和事件
    C#中的lock关键字
    SQL索引详解
    Quartz.NET 入门
    使用Topshelf创建Windows服务
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/13911859.html
Copyright © 2011-2022 走看看