1764. Form Array by Concatenating Subarrays of Another Array

ss
Feb 21, 2021

--

這題就是greedy, 但當下我時間來不及, 這有許多細節要處理

簡單來說, 就是在陣列裡查找 group, 一旦找到了, 就必須從找到的位置在往後找, 因為要求不能重複

最後就看找到的總數, 跟所有的group數是不是一樣多

class Solution {
public:
bool canChoose(vector<vector<int>>& groups, vector<int>& nums) {
int l = 0;
int res = 0;
for(auto g: groups){
int g_len = g.size();

for(int i = l; i < nums.size() - g_len + 1 ;i++){
int j = 0;
int cur = i;
for(; j < g_len;j++, cur++){
if(nums[cur] != g[j]){
break;
}
}
if(j == g_len){
l = i + g_len;
res++;
break;
}
}
}
return res == groups.size();
}
};

--

--

ss
ss

No responses yet