javacpp调用pdfium的c++动态库

1、.h头文件

2、生成java代码的conf    

PdfiumDocumentConfigure.java
package org.swdc.pdfium.conf;import org.bytedeco.javacpp.annotation.Platform;
import org.bytedeco.javacpp.annotation.Properties;
import org.bytedeco.javacpp.tools.InfoMap;
import org.bytedeco.javacpp.tools.InfoMapper;@Properties(value = {@Platform(value = "windows-x86_64",include = "fpdf_doc.h",link = "pdfium"),@Platform(value = "macosx-x86_64",include = "fpdf_doc.h",link = "pdfium")
},inherit = PdfiumViewConfigure.class,target = "org.swdc.pdfium.core.PdfiumDocument",global = "org.swdc.pdfium.core.PdfiumDocument"
)
public class PdfiumDocumentConfigure implements InfoMapper {@Overridepublic void map(InfoMap infoMap) {}
}
PdfiumEditConfigure.java
package org.swdc.pdfium.conf;import org.bytedeco.javacpp.annotation.Platform;
import org.bytedeco.javacpp.annotation.Properties;
import org.bytedeco.javacpp.tools.Info;
import org.bytedeco.javacpp.tools.InfoMap;
import org.bytedeco.javacpp.tools.InfoMapper;@Properties(value = {@Platform(value = "windows-x86_64",include = {"fpdf_edit.h","fpdf_save.h","ext_fpdf_save.h","ext_fpdf_edit.h"},link = "pdfium"),@Platform(value = "macosx-x86_64",include = {"fpdf_edit.h","fpdf_save.h","ext_fpdf_save.h","ext_fpdf_edit.h"},link = "pdfium")
},inherit = PdfiumViewConfigure.class,target = "org.swdc.pdfium.core.edit",global = "org.swdc.pdfium.core.PdfiumEdit"
)
public class PdfiumEditConfigure implements InfoMapper {@Overridepublic void map(InfoMap infoMap) {infoMap.put(new Info("FPDF_FILEWRITE_").cppTypes("FPDF_FILEWRITE").translate());// do not add ext private methods.infoMap.put(new Info("priv_fpdf_write_data","priv_fpdf_readJpegBytes","FWriter_","PDFWriter").skip());}
}

PdfiumTextConfigure.java
package org.swdc.pdfium.conf;import org.bytedeco.javacpp.annotation.Platform;
import org.bytedeco.javacpp.annotation.Properties;
import org.bytedeco.javacpp.tools.InfoMap;
import org.bytedeco.javacpp.tools.InfoMapper;@Properties(value = {@Platform(value = "windows-x86_64",include = "fpdf_text.h",link = "pdfium"),@Platform(value = "macosx-x86_64",include = "fpdf_text.h",link = "pdfium")
},inherit = PdfiumViewConfigure.class,target = "org.swdc.pdfium.core.PdfiumText",global = "org.swdc.pdfium.core.PdfiumText"
)
public class PdfiumTextConfigure implements InfoMapper {@Overridepublic void map(InfoMap infoMap) {}
}

 

PdfiumViewConfigure.java
package org.swdc.pdfium.conf;import org.bytedeco.javacpp.annotation.Platform;
import org.bytedeco.javacpp.annotation.Properties;
import org.bytedeco.javacpp.tools.Info;
import org.bytedeco.javacpp.tools.InfoMap;
import org.bytedeco.javacpp.tools.InfoMapper;@Properties(value = {@Platform(value = "windows-x86_64",include = "fpdfview.h",link = "pdfium",preload = "pdfium"),@Platform(value = "macosx-x86_64",include = "fpdfview.h",link = "pdfium",preload = "pdfium")
},target = "org.swdc.pdfium.core.view",global = "org.swdc.pdfium.core.PdfiumView"
)
public class PdfiumViewConfigure implements InfoMapper {@Overridepublic void map(InfoMap infoMap) {translateType(infoMap,"fpdf_annotation_t__","FPDF_ANNOTATION");translateType(infoMap,"fpdf_attachment_t__","FPDF_ATTACHMENT");translateType(infoMap,"fpdf_avail_t__","FPDF_AVAIL");translateType(infoMap,"fpdf_bitmap_t__","FPDF_BITMAP");translateType(infoMap,"fpdf_bookmark_t__","FPDF_BOOKMARK");translateType(infoMap,"fpdf_clippath_t__","FPDF_CLIPPATH");translateType(infoMap,"fpdf_dest_t__","FPDF_DEST");translateType(infoMap,"fpdf_document_t__","FPDF_DOCUMENT");translateType(infoMap,"fpdf_font_t__","FPDF_FONT");translateType(infoMap,"fpdf_form_handle_t__","FPDF_FORMHANDLE");translateType(infoMap,"fpdf_javascript_action_t","FPDF_JAVASCRIPT_ACTION");translateType(infoMap,"fpdf_link_t__","FPDF_LINK");translateType(infoMap,"fpdf_page_t__","FPDF_PAGE");translateType(infoMap,"fpdf_pagelink_t__","FPDF_PAGELINK");translateType(infoMap,"fpdf_pageobject_t__","FPDF_PAGEOBJECT");translateType(infoMap,"fpdf_pageobjectmark_t__","FPDF_PAGEOBJECTMARK");translateType(infoMap,"fpdf_schhandle_t__","FPDF_SCHHANDLE");translateType(infoMap,"fpdf_structelement_t__","FPDF_STRUCTELEMENT");translateType(infoMap,"fpdf_structtree_t__","FPDF_STRUCTTREE");translateType(infoMap,"fpdf_textpage_t__","FPDF_TEXTPAGE");translateType(infoMap,"fpdf_widget_t__","FPDF_WIDGET");translateType(infoMap,"fpdf_xobject_t__","FPDF_XOBJECT");translateType(infoMap,"fpdf_action_t__","FPDF_ACTION");translateConstType(infoMap,"fpdf_pagerange_t__","FPDF_PAGERANGE");translateConstType(infoMap,"fpdf_pathsegment_t","FPDF_PATHSEGMENT");translateConstType(infoMap,"fpdf_signature_t__","FPDF_SIGNATURE");translateConstType(infoMap,"fpdf_structelement_attr_t__","FPDF_STRUCTELEMENT_ATTR");translateConstType(infoMap,"fpdf_glyphpath_t__","FPDF_GLYPHPATH");infoMap.put(new Info("FPDF_STRING").cppTypes("const char*").translate());infoMap.put(new Info("FPDF_WCHAR").cppTypes("unsigned short").translate());infoMap.put(new Info("FPDF_BYTESTRING").cppTypes("const char*").translate());infoMap.put(new Info("FPDF_WIDESTRING").cppTypes("unsigned short*").translate());infoMap.put(new Info("FPDF_EXPORT").cppText("#define FPDF_EXPORT\n"));infoMap.put(new Info("FPDF_CALLCONV").cppText("#define FPDF_CALLCONV\n"));infoMap.put(new Info("HDC","FPDF_BStr_Clear","FPDF_BStr_Set","FPDF_BStr_Init","FPDF_GetRecommendedV8Flags","FPDF_RenderPageSkia","FPDF_SetPrintMode","FPDF_GetArrayBufferAllocatorSharedInstance").skip());}private void translateType(InfoMap map, String oldName, String newName) {map.put(new Info(newName).cppTypes(oldName + "*").translate());}private void translateConstType(InfoMap map, String oldName, String newName) {map.put(new Info(newName).cppTypes("const struct " + oldName + " *").translate());}}

 

 

 2、工程根pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.swdc</groupId><artifactId>javacpp-presets</artifactId><version>1.0</version><packaging>pom</packaging><modules><module>live2d</module><module>pdfium</module><module>pdfium4j</module><module>mariadb</module><module>dearimgui</module><module>videoai</module></modules><properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--        <javacpp.platform>${os.name}-${os.arch}</javacpp.platform>--><osname>windows</osname><osarch>x86_64</osarch><javacpp.platform>windows-x86_64</javacpp.platform></properties></project>

 

4、执行mvn clean 和 mvn package 详见

javacpp调用c++动态库-CSDN博客

5、第一次执行  mvn clean 和 mvn package  时  pdfium的pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.swdc</groupId><artifactId>javacpp-presets</artifactId><version>1.0</version></parent><artifactId>pdfium</artifactId><version>1.0</version><properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><javacpp.version>1.5.10</javacpp.version><build.skip>false</build.skip></properties><dependencies><!-- https://mvnrepository.com/artifact/org.bytedeco/javacpp --><dependency><groupId>org.bytedeco</groupId><artifactId>javacpp</artifactId><version>${javacpp.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.bytedeco/javacpp --><dependency><groupId>org.bytedeco</groupId><artifactId>javacpp-platform</artifactId><version>${javacpp.version}</version></dependency></dependencies><build><plugins><plugin><groupId>org.bytedeco</groupId><artifactId>javacpp</artifactId><version>${javacpp.version}</version><configuration><encoding>ISO-8859-1</encoding><includePaths><!--                        对应 Platform注解中的 includePath--><!--                        ${basedir} 为当前pom文件所在的项目目录 此处是videoai--><!--                        .h头文件所在目录--><includePath>${basedir}/../platforms/Pdfium/include/</includePath><includePath>${basedir}/../platforms/Pdfium/ext/</includePath></includePaths><linkPaths><linkPath>${basedir}/src/main/resources/org/swdc/pdfium/core/${osname}-${osarch}/</linkPath></linkPaths></configuration><executions><execution><id>javacpp.parser</id><phase>generate-sources</phase><goals><goal>build</goal></goals><configuration><skip>true</skip><!--输出目录生成jnidll的目录  三次 mvn clean mvn package skip都是true--><outputDirectory>${basedir}/src/main/resources/org/swdc/pdfium/core/${osname}-${osarch}/</outputDirectory><classOrPackageName>org.swdc.pdfium.**</classOrPackageName><deleteJniFiles>true</deleteJniFiles></configuration></execution><execution><id>javacpp.compiler</id><phase>process-classes</phase><goals><goal>build</goal></goals><configuration><skip>false</skip><!--  第一二次mvn clean mvn package skip都是false 第三次是true--><!--     第一次mvn clean mvn package生成java代码的目录   --><outputDirectory>${basedir}/src/main/java/</outputDirectory><!--     第二次mvn clean mvn package生成jnidll的目录   -->
<!--                            <outputDirectory>${basedir}/src/main/resources/org/swdc/pdfium/core/${osname}-${osarch}/-->
<!--                            </outputDirectory>--><deleteJniFiles>true</deleteJniFiles><classOrPackageName>org.swdc.pdfium.**</classOrPackageName><copyLibs>false</copyLibs></configuration></execution></executions></plugin></plugins></build></project>

6、第二次执行  mvn clean 和 mvn package  时  pdfium的pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.swdc</groupId><artifactId>javacpp-presets</artifactId><version>1.0</version></parent><artifactId>pdfium</artifactId><version>1.0</version><properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><javacpp.version>1.5.10</javacpp.version><build.skip>false</build.skip></properties><dependencies><!-- https://mvnrepository.com/artifact/org.bytedeco/javacpp --><dependency><groupId>org.bytedeco</groupId><artifactId>javacpp</artifactId><version>${javacpp.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.bytedeco/javacpp --><dependency><groupId>org.bytedeco</groupId><artifactId>javacpp-platform</artifactId><version>${javacpp.version}</version></dependency></dependencies><build><plugins><plugin><groupId>org.bytedeco</groupId><artifactId>javacpp</artifactId><version>${javacpp.version}</version><configuration><encoding>ISO-8859-1</encoding><includePaths><!--                        对应 Platform注解中的 includePath--><!--                        ${basedir} 为当前pom文件所在的项目目录 此处是videoai--><!--                        .h头文件所在目录--><includePath>${basedir}/../platforms/Pdfium/include/</includePath><includePath>${basedir}/../platforms/Pdfium/ext/</includePath></includePaths><linkPaths><linkPath>${basedir}/src/main/resources/org/swdc/pdfium/core/${osname}-${osarch}/</linkPath></linkPaths></configuration><executions><execution><id>javacpp.parser</id><phase>generate-sources</phase><goals><goal>build</goal></goals><configuration><skip>true</skip><!--输出目录生成jnidll的目录  三次 mvn clean mvn package skip都是true--><outputDirectory>${basedir}/src/main/resources/org/swdc/pdfium/core/${osname}-${osarch}/</outputDirectory><classOrPackageName>org.swdc.pdfium.**</classOrPackageName><deleteJniFiles>true</deleteJniFiles></configuration></execution><execution><id>javacpp.compiler</id><phase>process-classes</phase><goals><goal>build</goal></goals><configuration><skip>false</skip><!--  第一二次mvn clean mvn package skip都是false 第三次是true--><!--     第一次mvn clean mvn package生成java代码的目录   -->
<!--                            <outputDirectory>${basedir}/src/main/java/-->
<!--                            </outputDirectory>--><!--     第二次mvn clean mvn package生成jnidll的目录   --><outputDirectory>${basedir}/src/main/resources/org/swdc/pdfium/core/${osname}-${osarch}/</outputDirectory><deleteJniFiles>true</deleteJniFiles><classOrPackageName>org.swdc.pdfium.**</classOrPackageName><copyLibs>false</copyLibs></configuration></execution></executions></plugin></plugins></build></project>

7、第三次执行 mvn clean 和 mvn package  时  pdfium的pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.swdc</groupId><artifactId>javacpp-presets</artifactId><version>1.0</version></parent><artifactId>pdfium</artifactId><version>1.0</version><properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><javacpp.version>1.5.10</javacpp.version><build.skip>false</build.skip></properties><dependencies><!-- https://mvnrepository.com/artifact/org.bytedeco/javacpp --><dependency><groupId>org.bytedeco</groupId><artifactId>javacpp</artifactId><version>${javacpp.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.bytedeco/javacpp --><dependency><groupId>org.bytedeco</groupId><artifactId>javacpp-platform</artifactId><version>${javacpp.version}</version></dependency></dependencies><build><plugins><plugin><groupId>org.bytedeco</groupId><artifactId>javacpp</artifactId><version>${javacpp.version}</version><configuration><encoding>ISO-8859-1</encoding><includePaths><!--                        对应 Platform注解中的 includePath--><!--                        ${basedir} 为当前pom文件所在的项目目录 此处是videoai--><!--                        .h头文件所在目录--><includePath>${basedir}/../platforms/Pdfium/include/</includePath><includePath>${basedir}/../platforms/Pdfium/ext/</includePath></includePaths><linkPaths><linkPath>${basedir}/src/main/resources/org/swdc/pdfium/core/${osname}-${osarch}/</linkPath></linkPaths></configuration><executions><execution><id>javacpp.parser</id><phase>generate-sources</phase><goals><goal>build</goal></goals><configuration><skip>true</skip><!--输出目录生成jnidll的目录  三次 mvn clean mvn package skip都是true--><outputDirectory>${basedir}/src/main/resources/org/swdc/pdfium/core/${osname}-${osarch}/</outputDirectory><classOrPackageName>org.swdc.pdfium.**</classOrPackageName><deleteJniFiles>true</deleteJniFiles></configuration></execution><execution><id>javacpp.compiler</id><phase>process-classes</phase><goals><goal>build</goal></goals><configuration><skip>true</skip><!--  第一二次mvn clean mvn package skip都是false 第三次是true--><!--     第一次mvn clean mvn package生成java代码的目录   -->
<!--                            <outputDirectory>${basedir}/src/main/java/-->
<!--                            </outputDirectory>--><!--     第二次mvn clean mvn package生成jnidll的目录   --><outputDirectory>${basedir}/src/main/resources/org/swdc/pdfium/core/${osname}-${osarch}/</outputDirectory><deleteJniFiles>true</deleteJniFiles><classOrPackageName>org.swdc.pdfium.**</classOrPackageName><copyLibs>false</copyLibs></configuration></execution></executions></plugin></plugins></build></project>

8、此时生成的pdfium-1.0.jar 便可以实现javacpp调用

9、详细代码连接如下

通过百度网盘分享的文件:javacpp-demo.zip
链接:https://pan.baidu.com/s/1ZDvctWkGG1rL1683xS8Srw?pwd=2e5y 
提取码:2e5y

10、总结如下 

第一步 mvn clean  mvn package 是生成java 代码

第二步 mvn clean  mvn package 是生成jni动态库

第三步 mvn clean  mvn package 是生成可以使用的jar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1559338.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

物联网:一种有能力重塑世界的技术

物联网&#xff08;IoT&#xff09;近年来对我们的日常生活产生了如此积极的影响&#xff0c;以至于即使是不懂技术的人也开始相信它所带来的便利以及敏锐的洞察力。 物联网是一场数字技术革命&#xff0c;其意义甚至比工业革命更为重大。物联网是仍处于起步阶段的第四次工业革…

SldWorks问题 2. 矩阵相关接口使用上的失误

问题 在计算三维点在图纸&#xff08;DrawingDoc&#xff09;中的位置时&#xff0c;就是算不对&#xff0c;明明就4、5行代码&#xff0c;怎么看都是很“哇塞”的&#xff0c;毫无问题的。 但结果就是不对。 那就调试一下吧&#xff0c;调试后发现生成的矩阵很不对劲&#…

电力设备图像分割系统源码&数据集分享

电力设备图像分割系统系统源码&#xff06;数据集分享 [yolov8-seg-efficientViT&#xff06;yolov8-seg-C2f-DCNV2等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI G…

分治算法(7)_归并排序_计算右侧小于当前元素的个数

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 分治算法(7)_归并排序_计算右侧小于当前元素的个数 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&…

鸿蒙微内核IPC数据结构

鸿蒙内核IPC数据结构 内核为任务之间的通信提供了多种机制&#xff0c;包含队列、事件、互斥锁、信号量等&#xff0c;其中还有Futex(用户态快速锁)&#xff0c;rwLock(读写锁)&#xff0c;signal(信号)。 队列 队列又称为消息队列&#xff0c;是一种常用于任务间通信的数据…

ASP.NET MVC-懒加载-逐步加载数据库信息

环境&#xff1a; win10, .NET 6.0 目录 问题描述解决方案基础版数据库查询部分&#xff08;Entity Framework&#xff09;控制器前端页面 加载到表格版 问题描述 假设我数据库中有N个表&#xff0c;当我打开某页面时&#xff0c;每个表都先加载一部分&#xff08;比如20条&am…

Chainlit集成Dashscope实现语音交互网页对话AI应用

前言 本篇文章讲解和实战&#xff0c;如何使用Chainlit集成Dashscope实现语音交互网页对话AI应用。实现方案是对接阿里云提供的语音识别SenseVoice大模型接口和语音合成CosyVoice大模型接口使用。针对SenseVoice大模型和CosyVoice大模型&#xff0c;阿里巴巴在github提供的有开…

有关vue路由的学习

导言 由于很久没碰前端了&#xff0c;碰到路由都不太会了。趁着后端对接来记录一下&#xff0c;就当复习。不过由于个人能力有限&#xff0c;这篇会偏向整个过程的实现逻辑&#xff0c;其中有很多具体的方法不会给来&#xff0c;有兴趣的可以去看一下源码~ 目的&#xff1a; …

基于springboot vue 校园失物招领平台的设计与实现

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm springcloud等开发框架&#xff09; vue .net php phython node.js uniapp小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作☆☆☆ 精彩专栏推荐订阅☆☆☆☆…

SAP_SD模块-销售订单抬头折扣金额分摊到行项目的业务记录

前言&#xff1a; 本文主要是记录24年9月份支持财务月结过程中&#xff0c;用户提出的一个问题&#xff1a;“为什么KE30有部分物料9月份的销售数量少于FAGLL03H的销售数量&#xff1f;&#xff1f;”&#xff0c;主要包括以下两个内容&#xff1b; 1、问题发生的场景复现&am…

毕设分享 基于协同过滤的电影推荐系统

文章目录 0 简介1 设计概要2 课题背景和目的3 协同过滤算法原理3.1 基于用户的协同过滤推荐算法实现原理3.1.1 步骤13.1.2 步骤23.1.3 步骤33.1.4 步骤4 4 系统实现4.1 开发环境4.2 系统功能描述4.3 系统数据流程4.3.1 用户端数据流程4.3.2 管理员端数据流程 4.4 系统功能设计 …

【hot100-java】二叉树的最近公共祖先

二叉树篇 我觉得是比两个节点的深度&#xff0c;取min&#xff08;一种情况&#xff09; DFS解题。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ clas…

Apache Flink Dashboard

1、Overview Apache Flink Web Dashboardhttp://110.40.130.231:8081/#/overview 这张图片显示的是Apache Flink的Web UI界面&#xff0c;其中包含了以下几个部分&#xff1a; Available Task Slots: 显示当前可用的任务槽位数量。任务槽位是指Flink集群中可用于运行任务的资…

Django makemigrations时出现ModuleNotFoundError: No module named ‘MySQLdb‘

使用Python 3.11、Django 5.1.2 写完model进行makemigrations时出现报错 查找资料发现说是mysqldb适用于Python2&#xff0c;不支持Python3&#xff1b;python3可以使用pymysql 安装pymsql pip install pymysql 然后要在项目的__init__.py中加如下代码&#xff1a; import …

K8s(学习笔记)

swap分区是什么呀&#xff1f; 什么是ipvs呀&#xff1f; yaml是什么呀&#xff1f;&#xff1f;&#xff1f; p20看不下去了&#xff01;&#xff01;&#xff01;

【LeetCode】修炼之路-0004-Median of Two Sorted Arrays【python】

题目 Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays. The overall run time complexity should be O(log (mn)). Example 1: Input: nums1 [1,3], nums2 [2] Output: 2.00000 Explanation: merged…

SPIE出版-EI会议-人机交互 虚拟现实 <<< 11月杭州

EI、Scopus检索|人机交互与虚拟现实国际会议征稿进行中❗会议已通过SPIE出版❗ 2024人机交互与虚拟现实国际会议 ✅大会时间&#xff1a;2024年11月15-17日 ✅大会地点&#xff1a;中国-杭州 ✅报名/截稿&#xff1a;2024年10月15日&#xff08;团队投稿可享优惠&#xff…

实现std::sort,replace,fill,accumulate,equal等函数

std::sort /// <summary>/// std::sort 是从小到大排列的/// </summary>/// <typeparam name"IteratorClass"></typeparam>/// <typeparam name"ComparingFunctions"></typeparam>/// <param name"itBegin&qu…

基于IDEA+SpringBoot+Vue+Uniapp的投票评选小程序系统的详细设计和实现

2. 详细视频演示 文章底部名片&#xff0c;联系我获取更详细的演示视频 3. 论文参考 4. 项目运行截图 代码运行效果图 代码运行效果图 代码运行效果图 代码运行效果图 代码运行效果图 5. 技术框架 5.1 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框…

大数据毕业设计选题推荐-B站热门视频数据分析-Python数据可视化-Hive-Hadoop-Spark

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…