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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

LeetCode 1710. 卡车上的最大单元数(排序,模拟)

發布時間:2024/7/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 1710. 卡车上的最大单元数(排序,模拟) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. 題目
    • 2. 解題

1. 題目

請你將一些箱子裝在 一輛卡車 上。給你一個二維數組 boxTypes ,其中 boxTypes[i] = [numberOfBoxesi, numberOfUnitsPerBoxi] :

  • numberOfBoxesi 是類型 i 的箱子的數量。
  • numberOfUnitsPerBoxi 是類型 i 每個箱子可以裝載的單元數量。

整數 truckSize 表示卡車上可以裝載 箱子 的 最大數量 。
只要箱子數量不超過 truckSize ,你就可以選擇任意箱子裝到卡車上。

返回卡車可以裝載 單元 的 最大 總數。

示例 1: 輸入:boxTypes = [[1,3],[2,2],[3,1]], truckSize = 4 輸出:8 解釋:箱子的情況如下: - 1 個第一類的箱子,里面含 3 個單元。 - 2 個第二類的箱子,每個里面含 2 個單元。 - 3 個第三類的箱子,每個里面含 1 個單元。 可以選擇第一類和第二類的所有箱子,以及第三類的一個箱子。 單元總數 = (1 * 3) + (2 * 2) + (1 * 1) = 8示例 2: 輸入:boxTypes = [[5,10],[2,5],[4,7],[3,9]], truckSize = 10 輸出:91提示: 1 <= boxTypes.length <= 1000 1 <= numberOfBoxesi, numberOfUnitsPerBoxi <= 1000 1 <= truckSize <= 10^6

https://leetcode-cn.com/problems/maximum-units-on-a-truck/

2. 解題

  • 單元多的箱子優先
class Solution { public:int maximumUnits(vector<vector<int>>& boxTypes, int truckSize) {sort(boxTypes.begin(), boxTypes.end(),[&](auto a, auto b){return a[1] > b[1];//單元多的優先});int cell = 0;for(int i = 0; i < boxTypes.size(); ++i){int num = min(truckSize, boxTypes[i][0]);//可以裝的箱子數量cell += boxTypes[i][1]*num;truckSize -= num;//更新卡車剩余容量}return cell;} };

404 ms 48.5 MB C++


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

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

總結

以上是生活随笔為你收集整理的LeetCode 1710. 卡车上的最大单元数(排序,模拟)的全部內容,希望文章能夠幫你解決所遇到的問題。

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