当前位置: 首页 > wzjs >正文

东城免费做网站网站建设外包费用

东城免费做网站,网站建设外包费用,wordpress 支付宝插件下载,成都 网站设计公司【华为OD- B卷 - 书籍叠放 200分(python、java、c、c、js)】 题目 书籍的长、宽都是整数对应 (l,w)。如果书A的长宽度都比B长宽大时,则允许将B排列放在A上面。现在有一组规格的书籍,书籍叠放时要求书籍不能做旋转,请…

【华为OD- B卷 - 书籍叠放 200分(python、java、c、c++、js)】

题目

书籍的长、宽都是整数对应 (l,w)。如果书A的长宽度都比B长宽大时,则允许将B排列放在A上面。现在有一组规格的书籍,书籍叠放时要求书籍不能做旋转,请计算最多能有多少个规格书籍能叠放在一起。

输入描述

  • 输入:books = [[20,16],[15,11],[10,10],[9,10]]

说明:总共4本书籍,第一本长度为20宽度为16;第二本书长度为15宽度为11,依次类推,最后一本书长度为9宽度为10.

输出描述

  • 输出:3

说明: 最多3个规格的书籍可以叠放到一起, 从下到上依次为: [20,16],[15,11],[10,10]

用例

用例一:
输入:
[[20,16],[15,11],[10,10],[9,10]]
输出:
3

python解法

  • 解题思路:
更新中

java解法

  • 解题思路
  1. 解题思路
    题目要求:在不允许旋转的前提下,求书籍最多能叠放多少本。
    叠放规则:

    书A的长和宽都必须大于书B,才能将B放在A之上;

    每本书的 (length, width) 都是正整数。

    抽象为经典问题:
    首先按长度升序排序,若长度相同则按宽度降序排序;

    然后在排序后的宽度序列中,求最长严格递减子序列,即可得到最大可叠放数量;

    实际上是**俄罗斯套娃信封问题(二维LIS)**的变种;

    最终转化为对宽度数组的 最长递增子序列(LIS) 求解。

  2. 使用到的算法
    自定义排序 将书按长升序,长相同则按宽降序,防止错误嵌套
    二维转一维降维处理 对排序后的宽度序列做 LIS,转为经典一维问题
    LIS + BinarySearch O(n log n) 高效计算最长递增子序列(最优解)

import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String input = scanner.nextLine(); // 从控制台读取输入字符串,例如 [[20,16],[15,11],[10,10],[9,10]]int[][] books = parseBooks(input); // 解析输入为二维数组,每本书的长宽System.out.println(findMaxStack(books)); // 输出最多可叠放的书本数量}// 将字符串 "[[20,16],[15,11],...]" 解析为二维 int 数组private static int[][] parseBooks(String input) {// 正则分割出每本书的子串String[] items = input.substring(1, input.length() - 1).split("(?<=]),(?=\\[)");int[][] books = new int[items.length][2];for (int i = 0; i < items.length; i++) {// 去除方括号,提取长宽字符串String[] dimensions = items[i].substring(1, items[i].length() - 1).split(",");books[i][0] = Integer.parseInt(dimensions[0].trim()); // 长度books[i][1] = Integer.parseInt(dimensions[1].trim()); // 宽度}return books;}// 求最多可叠放书籍数private static int findMaxStack(int[][] books) {// 排序规则:按长度升序,长度相同按宽度降序Arrays.sort(books, (a, b) -> a[0] == b[0] ? b[1] - a[1] : a[0] - b[0]);// 将宽度提取为一维数组int[] heights = new int[books.length];for (int i = 0; i < books.length; i++) {heights[i] = books[i][1];}// 对宽度数组求最长递增子序列长度return calculateLIS(heights);}// LIS 最长递增子序列(二分优化,时间复杂度 O(n log n))private static int calculateLIS(int[] heights) {int[] dp = new int[heights.length]; // dp[i] 表示长度为 i+1 的递增序列的末尾最小值int len = 0; // 当前已构建的最长递增子序列长度for (int height : heights) {// 二分查找 height 应插入的位置int idx = Arrays.binarySearch(dp, 0, len, height);if (idx < 0) idx = -(idx + 1); // 若找不到,得到应插入位置dp[idx] = height; // 更新 dp 数组,尝试更小的末尾if (idx == len) len++; // 扩展 LIS 长度}return len;}
}

C++解法

  • 解题思路
更新中

C解法

  • 解题思路

更新中

JS解法

  • 解题思路

更新中

注意:

如果发现代码有用例覆盖不到的情况,欢迎反馈!会在第一时间修正,更新。
解题不易,如对您有帮助,欢迎点赞/收藏


文章转载自:

http://HjzOgWfS.cfcdr.cn
http://JIp0aPnJ.cfcdr.cn
http://Aevb9ykE.cfcdr.cn
http://heJPmgA1.cfcdr.cn
http://8rXEGNJU.cfcdr.cn
http://E1Way6Fe.cfcdr.cn
http://Reuy4ZyU.cfcdr.cn
http://CL3tO8nB.cfcdr.cn
http://H7dzJzco.cfcdr.cn
http://WeRFst4T.cfcdr.cn
http://vu3cvs1M.cfcdr.cn
http://zUzNi8NX.cfcdr.cn
http://YkNfKleo.cfcdr.cn
http://7mLfwZ5x.cfcdr.cn
http://aPySbPYO.cfcdr.cn
http://uudBQTo8.cfcdr.cn
http://fFCx3Ivr.cfcdr.cn
http://KD097gAH.cfcdr.cn
http://SY9frhcm.cfcdr.cn
http://NMdIC3O8.cfcdr.cn
http://3rTabrEn.cfcdr.cn
http://pZxEQ34Y.cfcdr.cn
http://UVa7utvf.cfcdr.cn
http://dpYF6VM9.cfcdr.cn
http://Gv1XPex5.cfcdr.cn
http://uATo9BS8.cfcdr.cn
http://hWsGK3J8.cfcdr.cn
http://YGqR9oMF.cfcdr.cn
http://DI39XY81.cfcdr.cn
http://vcbXo6z2.cfcdr.cn
http://www.dtcms.com/wzjs/765474.html

相关文章:

  • 做网站的价格是多少wordpress插件推挤
  • 煤炭建设协会官方网站微信社群运营工具
  • 有什么网站可以免费看电影上海注册设计公司网站
  • 无锡网站设计厂家甘肃多元网络
  • 各类网站规划建立网站的英语
  • 访问国外网站 速度慢2022热门网页游戏排行榜
  • 彩票的网站怎么做口碑好的网站定制公司
  • 网站建设基础知识及专业术语网站一般需要怎么推广
  • 一台服务器可以建设几个网站商标在线设计logo图案
  • 网站首页布局设计工具2024年阳性最新症状
  • 质量好网站建设多少钱外贸和网站制作
  • 佛山新网站建设平台vi设计流程
  • 设计漂亮的网站亚马逊查关键词排名工具
  • 3d网站制作做一个app需要多少钱一个
  • 安阳360网站推广工具专业的专业的网页制作公司
  • 网站建设和信息更新的通知怎样管理网站
  • 网站和公众号的区别是什么意思自己做的网站如何调入dede
  • 网站博客怎么做彩票网站用什么软件做
  • jimdo做的网站佛山专业网站建设公司哪家好
  • 我的免费网是个什么网站深圳注册贸易公司网上注册流程
  • 重庆永川网站建设报价公司做网站是管理费用
  • 个人怎样建网站赚钱ip代理网址
  • 杂志社网站建设意义陕西高速公路建设集团网站
  • 南京电商网站设计手机访问不了wordpress
  • 塘下网站建设公司wordpress主题设置插件
  • 龙海市建设局网站网站设计自已申请
  • 塘下网站建设app制作教学课程
  • 广州外贸网站推广莆田seo接单
  • 杭州一起做网站让顾客进店的100条方法
  • 做网站多少钱googlewordpress plugin开发