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

wordpress 政府网站站长统计 站长统计

wordpress 政府网站,站长统计 站长统计,政府网站做的不好,龙岩市新罗区最新疫情2025 A卷 200分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

在这里插入图片描述

2025 A卷 200分 题型

本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式;
并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析;
本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分享》

华为OD机试真题《书籍叠放》:


文章快捷目录

题目描述及说明

Java

python

JavaScript

C++

C

GO


题目名称:书籍叠放


  • 知识点:动态规划(最长递增子序列变种)、排序
  • 时间限制:1秒
  • 空间限制:256MB
  • 限定语言:不限

题目描述

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

输入描述
输入:books = [[20,16],[15,11],[10,10],[9,10]]
说明:共4本书,第一本长20宽16,第二本长15宽11,依此类推。

输出描述
输出:3
解释:最多叠放3本,从下到上依次为 [20,16][15,11][10,10]

测试用例

  1. 输入:[[5,4],[6,4],[6,7],[2,3]]
    输出:3

Java

问题分析

题目要求找到最多能叠放的书籍数量,每本书的长和宽都必须比下面的书严格小。可以通过排序和最长递增子序列(LIS)解决。


解题思路

  1. 排序处理:将书籍按长度升序排序,若长度相同则按宽度降序排序。这样后续只需考虑宽度是否递增,确保长度条件自动满足。
  2. 最长递增子序列:在排序后的宽度数组中找到最长递增子序列的长度,即为答案。

代码实现

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();// 解析输入int[][] books = parseInput(input);// 排序Arrays.sort(books, (a, b) -> a[0] != b[0] ? a[0] - b[0] : b[1] - a[1]);// 计算最长递增子序列的长度int max = lengthOfLIS(books);System.out.println(max);}// 解析输入字符串为二维数组private static int[][] parseInput(String input) {String[] parts = input.replaceAll("\\[\\[|\\]\\]", "").split("\\],\\[");int[][] books = new int[parts.length][2];for (int i = 0; i < parts.length; i++) {String[] nums = parts[i].split(",");books[i][0] = Integer.parseInt(nums[0]);books[i][1] = Integer.parseInt(nums[1]);}return books;}// 计算最长递增子序列的长度(O(n log n))private static int lengthOfLIS(int[][] books) {int[] tails = new int[books.length];int size = 0;for (int[] book : books) {int h = book[1];int i = Arrays.binarySearch(tails, 0, size, h);if (i < 0) i = -(i + 1);tails[i] = h;if (i == size) size++;}return size;}
}

代码详解

  1. 输入解析

    String input = sc.nextLine();
    int[][] books = parseInput(input);
    
    • 读取输入字符串并解析为二维数组。例如,将[[20,16],[15,11]]转换为books数组。
  2. 排序处理

    Arrays.sort(books, (a, b) -> a[0] != b[0] ? a[0] - b[0] : b[1] - a[1]);
    
    • 按长度升序排序,长度相同则按宽度降序排序。确保后续只需处理宽度递增。
  3. 最长递增子序列

    int[] tails = new int[books.length];
    int size = 0;
    for (int[] book : books) {int h = book[1];int i = Arrays.binarySearch(tails, 0, size, h);if (i < 0) i = -(i + 1);tails[i] = h;
http://www.dtcms.com/wzjs/467138.html

相关文章:

  • 网站内容管理系统(cms)深圳推广公司介绍
  • 织梦建站模板关键词快速优化排名软件
  • 满洲里网站制作seo诊断分析在线工具
  • 石家庄市最新消息今天关键词优化排名seo
  • 怀柔 做网站的足球联赛排名
  • 广州市品牌网站建设平台友情链接检查工具
  • 南昌做网站流程营销成功的案例
  • 网站平台建设视频教学百度seo详解
  • 东莞建设网站制作培训机构排名全国十大教育机构排名
  • anaconda可以做网站吗西安网站制作
  • 网站建设实验总结百科河南省疫情最新情况
  • 网站空间服务商seo排名专业公司
  • wordpress后台密码破解长沙百度快速排名优化
  • 宝塔怎么做两个网站的解析海外推广服务
  • 安卓手机怎么制作网站seo网站监测
  • 天津市建设工程定额网站海外网站
  • 门户网站开发 南宁武汉企业seo推广
  • 南宁营销型网站建设公司自媒体135网站
  • 大连甘井子区政府官网seo引擎搜索入口
  • 网站服务器 免费品牌推广方案怎么写
  • 化州网站建设建立企业网站步骤
  • 政府网站建设研究百度官方网站首页
  • wordpress 提交插件郑州关键词优化顾问
  • 自己做捕鱼网站能不能挣钱最好的关键词排名优化软件
  • 哪个网站做平面能兼职抖音seo怎么收费
  • 网站建设合作协议申请怎样加入网络营销公司
  • 商城建设网站百度网盘app官方下载
  • 上海的网站开发公司韶关网站seo
  • 做网站数据库表设计营销技巧和营销方法视频
  • 网站开发公对公转账合同模板写文章在哪里发表挣钱