【Leetcode】1564. Put Boxes Into the Warehouse I
题目地址:
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(nlogn+m)O(n\log n+m)O(nlogn+m),空间O(1)O(1)O(1)。
【Leetcode】1564. Put Boxes Into the Warehouse I相关推荐
- 【Leetcode】100. 相同的树
题目 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1/ \ / \2 3 2 3[1,2,3], [1 ...
- 【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 ...
- 【leetcode】486. Predict the Winner
题目如下: Given an array of scores that are non-negative integers. Player 1 picks one of the numbers fro ...
- 【leetcode】132. Palindrome Partitioning II
题目如下: 解题思路:本题是[leetcode]131. Palindrome Partitioning的升级版,要求的是求出最小cuts,如果用[leetcode]131. Palindrome P ...
- 【leetcode】86. Partition List
题目如下: Given a linked list and a value x, partition it such that all nodes less than x come before no ...
- 【Leetcode】103. 二叉树的锯齿形层次遍历
题目 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...
- 【Leetcode】79.单词搜索
题目 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格.同一个单元格 ...
- 【leetcode】 算法题1 两数之和
[leetcode] 算法题1 两数之和 问题 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums ...
- 【Leetcode】62. 不同路径
题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为&qu ...
最新文章
- python学习总目录
- HDFS集群安装部署
- 日常生活小技巧 -- markdown编辑器
- [转]C++中extern C的含义
- leetcode127. 单词接龙(bfs)
- 【java基础】——java枚举类型基本介绍
- Jeecg-Boot 一款基于SpringBoot 快速开发平台
- 计算机考研分析题,2020计算机考研,易错题分析与常考点总结
- Android Studio 1.1.0汉化初步出炉!
- 阻止默认事件event.preventDefault();
- [Python学习笔记][第八章Python异常处理结构与程序调试]
- 【Python实现】运输问题的表上作业法(一):利用伏格尔 (Vogel) 法寻找初始基可行解
- 实例 -- Loadrunner实现Android / IOS 手机APP压力测试
- CSGO显示FPS(帧数)指令集设置调用方法 2020年最新版本CSGO教程
- FPGA,关于安装使用libero IDE V9.2 及其gold floating license配置
- Parameter ‘ew‘ not found. Available parameters are [wrapper, page, param1, param2]
- 如何利用 Python + Selenium 自动化快速截图
- 偏振分集相干接收集成模块
- P2P系统哪家强,功能其实都一样
- “5G 将是一个彻底的失败通信技术” | 畅言
热门文章
- JAVA将时间如何将时间格式设置 yyyy-MM-ddTHH:mm:ssZ
- 【JAVA】Java8对时间的一些常用操作记录。例如:LocalDateTime、ZoneId等。
- python cherry 用法
- 大数据实践:数据指标中心的建设思路
- 人工智能面试总结-基础理论
- win7 找不到 计算机策略组,win7打开组策略提示无权限怎么解决 win7系统组策略如何开启...
- 小博老师解读经典Java面试题—Java位运算
- 亲密关系的本质是分享:如何把握暧昧的窗口期?
- 为什么ps因为计算机限制,photoshop为什么经常崩溃 ps防止崩溃解决办法
- 腾讯区块链的三年与它的打法