日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 1899. 合并若干三元组以形成目标三元组

發布時間:2024/7/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 1899. 合并若干三元组以形成目标三元组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. 題目
    • 2. 解題

1. 題目

三元組 是一個由三個整數組成的數組。
給你一個二維整數數組 triplets ,其中 triplets[i] = [ai, bi, ci] 表示第 i 個 三元組 。
同時,給你一個整數數組 target = [x, y, z] ,表示你想要得到的 三元組 。

為了得到 target ,你需要對 triplets 執行下面的操作 任意次(可能 零 次):

選出兩個下標(下標 從 0 開始 計數)i 和 j(i != j),并 更新 triplets[j] 為 [max(ai, aj), max(bi, bj), max(ci, cj)] 。
例如,triplets[i] = [2, 5, 3] 且 triplets[j] = [1, 7, 5],triplets[j] 將會更新為 [max(2, 1), max(5, 7), max(3, 5)] = [2, 7, 5] 。
如果通過以上操作我們可以使得目標 三元組 target 成為 triplets 的一個 元素 ,則返回 true ;否則,返回 false 。

示例 1: 輸入:triplets = [[2,5,3],[1,8,4],[1,7,5]], target = [2,7,5] 輸出:true 解釋:執行下述操作: - 選擇第一個和最后一個三元組 [[2,5,3],[1,8,4],[1,7,5]] 。更新最后一個三元組為 [max(2,1), max(5,7), max(3,5)] = [2,7,5] 。triplets = [[2,5,3],[1,8,4],[2,7,5]] 目標三元組 [2,7,5] 現在是 triplets 的一個元素。示例 2: 輸入:triplets = [[1,3,4],[2,5,8]], target = [2,5,8] 輸出:true 解釋:目標三元組 [2,5,8] 已經是 triplets 的一個元素。示例 3: 輸入:triplets = [[2,5,3],[2,3,4],[1,2,5],[5,2,3]], target = [5,5,5] 輸出:true 解釋:執行下述操作: - 選擇第一個和第三個三元組 [[2,5,3],[2,3,4],[1,2,5],[5,2,3]] 。更新第三個三元組為 [max(2,1), max(5,2), max(3,5)] = [2,5,5] 。triplets = [[2,5,3],[2,3,4],[2,5,5],[5,2,3]] 。 - 選擇第三個和第四個三元組 [[2,5,3],[2,3,4],[2,5,5],[5,2,3]] 。更新第四個三元組為 [max(2,5), max(5,2), max(5,3)] = [5,5,5] 。triplets = [[2,5,3],[2,3,4],[2,5,5],[5,5,5]] 。 目標三元組 [5,5,5] 現在是 triplets 的一個元素。示例 4: 輸入:triplets = [[3,4,5],[4,5,6]], target = [3,2,5] 輸出:false 解釋:無法得到 [3,2,5] ,因為 triplets 不含 2 。提示: 1 <= triplets.length <= 10^5 triplets[i].length == target.length == 3 1 <= ai, bi, ci, x, y, z <= 1000

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/merge-triplets-to-form-target-triplet
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

2. 解題

  • 只要每個對應的元素都沒有超過 target,且 存在某個位置能匹配,那么該位置就能匹配
class Solution { public:bool mergeTriplets(vector<vector<int>>& triplets, vector<int>& target) {bool f0 = false, f1 = false, f2 = false;for(auto& t : triplets){if(t[0] > target[0] || t[1] > target[1] || t[2] > target[2])continue;if(t[0] == target[0]) f0 = true;if(t[1] == target[1]) f1 = true;if(t[2] == target[2]) f2 = true;}return f0&&f1&&f2;} };

716 ms 142.9 MB C++


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

長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!

總結

以上是生活随笔為你收集整理的LeetCode 1899. 合并若干三元组以形成目标三元组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。