题目地址:

https://leetcode.com/problems/put-boxes-into-the-warehouse-i/description/

给定nnn个宽111高度值为数组AAA的竖着的柱子,再给出一个宽mmm的仓库,仓库的每个单位111的长度上的高度都是相等的,每隔111个单位长度的高度可能变化,如图:

问我们最多可以将多少个柱子推入仓库。注意仓库的右端是封闭的,左端是开放的,所以我们只能从左推进去。

思路是贪心。显然应该先推高度低的柱子进去。仓库里每个位置能放的高度其实是由其左边的高度最小值决定,我们可以预处理一下每个位置能放的柱子高度是多少。接着从小到大遍历柱子高度,看能推进去多少个柱子即可。代码如下:

class Solution {public:int maxBoxesInWarehouse(vector<int>& b, vector<int>& whs) {sort(b.begin(), b.end());for (int i = 1; i < whs.size(); i++) whs[i] = min(whs[i], whs[i - 1]);int cnt = 0;for (int i = whs.size() - 1; i >= 0; i--)if (cnt < b.size() && b[cnt] <= whs[i]) cnt++;return cnt;}
};

时间复杂度O(nlog⁡n+m)O(n\log n+m)O(nlogn+m),空间O(1)O(1)O(1)。

【Leetcode】1564. Put Boxes Into the Warehouse I相关推荐

  1. 【Leetcode】100. 相同的树

    题目 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1/ \ / \2 3 2 3[1,2,3], [1 ...

  2. 【leetcode】85. Maximal Rectangle 0/1矩阵的最大全1子矩阵

    1. 题目 Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1 ...

  3. 【leetcode】486. Predict the Winner

    题目如下: Given an array of scores that are non-negative integers. Player 1 picks one of the numbers fro ...

  4. 【leetcode】132. Palindrome Partitioning II

    题目如下: 解题思路:本题是[leetcode]131. Palindrome Partitioning的升级版,要求的是求出最小cuts,如果用[leetcode]131. Palindrome P ...

  5. 【leetcode】86. Partition List

    题目如下: Given a linked list and a value x, partition it such that all nodes less than x come before no ...

  6. 【Leetcode】103. 二叉树的锯齿形层次遍历

    题目 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...

  7. 【Leetcode】79.单词搜索

    题目 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格.同一个单元格 ...

  8. 【leetcode】 算法题1 两数之和

    [leetcode] 算法题1 两数之和 问题   给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums ...

  9. 【Leetcode】62. 不同路径

    题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为&qu ...

最新文章

  1. python学习总目录
  2. HDFS集群安装部署
  3. 日常生活小技巧 -- markdown编辑器
  4. [转]C++中extern C的含义
  5. leetcode127. 单词接龙(bfs)
  6. 【java基础】——java枚举类型基本介绍
  7. Jeecg-Boot 一款基于SpringBoot 快速开发平台
  8. 计算机考研分析题,2020计算机考研,易错题分析与常考点总结
  9. Android Studio 1.1.0汉化初步出炉!
  10. 阻止默认事件event.preventDefault();
  11. [Python学习笔记][第八章Python异常处理结构与程序调试]
  12. 【Python实现】运输问题的表上作业法(一):利用伏格尔 (Vogel) 法寻找初始基可行解
  13. 实例 -- Loadrunner实现Android / IOS 手机APP压力测试
  14. CSGO显示FPS(帧数)指令集设置调用方法 2020年最新版本CSGO教程
  15. FPGA,关于安装使用libero IDE V9.2 及其gold floating license配置
  16. Parameter ‘ew‘ not found. Available parameters are [wrapper, page, param1, param2]
  17. 如何利用 Python + Selenium 自动化快速截图
  18. 偏振分集相干接收集成模块
  19. P2P系统哪家强,功能其实都一样
  20. “5G 将是一个彻底的失败通信技术” | 畅言

热门文章

  1. JAVA将时间如何将时间格式设置 yyyy-MM-ddTHH:mm:ssZ
  2. 【JAVA】Java8对时间的一些常用操作记录。例如:LocalDateTime、ZoneId等。
  3. python cherry 用法
  4. 大数据实践:数据指标中心的建设思路
  5. 人工智能面试总结-基础理论
  6. win7 找不到 计算机策略组,win7打开组策略提示无权限怎么解决 win7系统组策略如何开启...
  7. 小博老师解读经典Java面试题—Java位运算
  8. 亲密关系的本质是分享:如何把握暧昧的窗口期?
  9. 为什么ps因为计算机限制,photoshop为什么经常崩溃 ps防止崩溃解决办法
  10. 腾讯区块链的三年与它的打法