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

域名和网址的区别seo优化工作内容做什么

域名和网址的区别,seo优化工作内容做什么,姬月直播,wordpress国内现状题目描述 书籍的长、宽都是整数对应((l,w))。如果书A的长宽度都比B的长宽大时,则允许将B排列放在A上面。现在有一组规格的书籍,书籍叠放时要求书籍不能旋转,请计算最多能有多少个规格书籍能叠放在一起。 输入描述 输入:books …

题目描述

书籍的长、宽都是整数对应((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]

解题思路

这个问题可以转化为一个最长递增子序列(LIS)的问题。我们需要找到一组书籍,使得每本书的长度和宽度都比前一本小。为了简化问题,我们可以先对书籍进行排序,然后使用动态规划来找到最长的序列。

代码实现

Java
import java.util.Arrays;
import java.util.Comparator;public class MaxBooks {public int maxBooks(int[][] books) {// 按长度降序排序,如果长度相同则按宽度降序排序Arrays.sort(books, new Comparator<int[]>() {public int compare(int[] a, int[] b) {if (a[0] == b[0]) {return b[1] - a[1];} else {return b[0] - a[0];}}});int[] dp = new int[books.length];int len = 0;for (int[] book : books) {int i = Arrays.binarySearch(dp, 0, len, book[1]);if (i < 0) {i = -(i + 1);}dp[i] = book[1];if (i == len) {len++;}}return len;}public static void main(String[] args) {MaxBooks solution = new MaxBooks();int[][] books = {{20, 16}, {15, 11}, {10, 10}, {9, 10}};System.out.println(solution.maxBooks(books)); // 3}
}
Python
import bisectclass Solution:def maxBooks(self, books):# 按长度降序排序,如果长度相同则按宽度降序排序books.sort(key=lambda x: (-x[0], -x[1]))dp = []for book in books:idx = bisect.bisect_left(dp, book[1])if idx == len(dp):dp.append(book[1])else:dp[idx] = book[1]return len(dp)solution = Solution()
books = [[20, 16], [15, 11], [10, 10], [9, 10]]
print(solution.maxBooks(books))  # 3
C++
#include <vector>
#include <algorithm>
using namespace std;class Solution {
public:int maxBooks(vector<vector<int>>& books) {// 按长度降序排序,如果长度相同则按宽度降序排序sort(books.begin(), books.end(), [](const vector<int>& a, const vector<int>& b) {if (a[0] == b[0]) {return a[1] > b[1];} else {return a[0] > b[0];}});vector<int> dp;for (const auto& book : books) {auto it = lower_bound(dp.begin(), dp.end(), book[1]);if (it == dp.end()) {dp.push_back(book[1]);} else {*it = book[1];}}return dp.size();}
};int main() {Solution solution;vector<vector<int>> books = {{20, 16}, {15, 11}, {10, 10}, {9, 10}};cout << solution.maxBooks(books) << endl; // 3return 0;
}
JavaScript
var maxBooks = function(books) {// 按长度降序排序,如果长度相同则按宽度降序排序books.sort((a, b) => {if (a[0] === b[0]) {return b[1] - a[1];} else {return b[0] - a[0];}});let dp = [];for (let book of books) {let left = 0, right = dp.length;while (left < right) {let mid = Math.floor((left + right) / 2);if (dp[mid] < book[1]) {left = mid + 1;} else {right = mid;}}if (left === dp.length) {dp.push(book[1]);} else {dp[left] = book[1];}}return dp.length;
};let books = [[20, 16], [15, 11], [10, 10], [9, 10]];
console.log(maxBooks(books)); // 3

复杂度分析

  • 时间复杂度: O(n log n),其中n是书籍的数量。排序的时间复杂度是O(n log n),而动态规划部分的时间复杂度也是O(n log n)。
  • 空间复杂度: O(n),用于存储动态规划数组。

总结

我们使用了排序和动态规划来解决这个问题。首先对书籍进行排序,然后使用二分查找来优化动态规划的过程。这种方法能够有效地找到最长的书籍叠放序列。


文章转载自:

http://K4rCLGrY.hngmg.cn
http://cc65WhYQ.hngmg.cn
http://EjrEN7ie.hngmg.cn
http://iGVt8ITm.hngmg.cn
http://Q1WBsCJf.hngmg.cn
http://28abhQG6.hngmg.cn
http://pdM72cCf.hngmg.cn
http://9x6XRYO9.hngmg.cn
http://T8LytemZ.hngmg.cn
http://u8w1wvUQ.hngmg.cn
http://8pNiRf1f.hngmg.cn
http://B83gl9Xh.hngmg.cn
http://44twW0fP.hngmg.cn
http://nBbsfe89.hngmg.cn
http://y5b9wwyK.hngmg.cn
http://i22QtAAa.hngmg.cn
http://EqcXgW51.hngmg.cn
http://aNyCb6Qx.hngmg.cn
http://UnPnp0JL.hngmg.cn
http://EUQsURUI.hngmg.cn
http://B5hbZCek.hngmg.cn
http://pv781g9C.hngmg.cn
http://c8bzm42C.hngmg.cn
http://lszi5kOf.hngmg.cn
http://tD64VNIv.hngmg.cn
http://1mZpyUH2.hngmg.cn
http://dN8H7VPY.hngmg.cn
http://ltaLEhmZ.hngmg.cn
http://rxsoTuaf.hngmg.cn
http://TPgCKCQ5.hngmg.cn
http://www.dtcms.com/wzjs/777765.html

相关文章:

  • led的网站建设未备案域名
  • 德州商城网站建设用html做登录网站
  • 网站开发有前景吗wordpress 后台插件
  • 网站建设品牌排行榜黄山网站建设找哪家
  • 北京网站建设 fim用php写的网站
  • 做网站开发的是不是程序员永康物流网站
  • 做铝材哪些网站招聘wdcp wordpress搬家
  • 开发电子商务网站福彩网站开发
  • 怎么做网站的浏览量统计做推广哪个网站好
  • 网上接单做衣服哪个网站网站只能用ip访问网站
  • php音乐外链网站源码域名注册 万网
  • 重庆网页制作seoul是哪个城市
  • 外贸小网站建设wordpress手机底部导航
  • 建设厅网站预算员报名时间做网站需要学哪些语言
  • 网站的内链优化怎样做网站建设十大公司
  • 自助建站免费网站小兽wordpress
  • 网站开发校园经历范文无锡网站优化工作室
  • 网站运营培训学校百度域名购买
  • 如何进入网站管理页面上海云职企业服务是干什么的
  • 织梦建站系统教程如何 网站推广
  • 做守望同人的网站新泰网络推广公司
  • 公司企业做网站嘉兴网站seo公司
  • 嘉兴网站模板建站网店美工招聘信息
  • 网站地图怎么做、昆山住房与城乡建设局官网
  • 电话网站源码昆山外发加工网
  • 免费建自己域名的网站wordpress cat=
  • 网站制作需要多少钱官网贵阳网站建设搜q479185700
  • 哪里有专门做网站的设计一个网站花多少时间
  • 北京网站优化培训网站空间被攻击
  • 沧州大型企业网站建设创意设计产业