我有一个复杂的问题,并且一直在尝试确定什么是非常非常有效的算法。我希望我能从你们有帮助的人那里得到一些想法。这是情况。
我有一个向量向量。这些嵌套向量的长度各不相同,都以随机顺序存储整数,例如(伪代码):
vector_list = {
{ 1, 4, 2, 3 },
{ 5, 9, 2, 1, 3, 3 },
{ 2, 4, 2 },
...,
100 more,
{ 8, 2, 2, 4 }
}
Run Code Online (Sandbox Code Playgroud)
依此类推,在 vector_list 中一次最多可包含 100 多个不同的向量。请注意,相同的整数可以多次出现在每个向量中。我需要从此 vector_list 中删除与另一个向量重复的任何向量。一个向量是另一个向量的副本,如果:
它与另一个向量具有相同的整数(不考虑顺序)。所以如果我们有
vec1 = { 1, 2, 3 }
vec2 = { 2, 3, 1 }
Run Code Online (Sandbox Code Playgroud)
这些是重复的,我需要删除其中之一,不管是哪一个。
一个向量包含另一个向量的所有其他整数。所以如果我们有
vec1 = { 3, 2, 2 }
vec2 = { 4, 2, 3, 2, 5 }
Run Code Online (Sandbox Code Playgroud)
Vec2 拥有 vec1 的所有整数并且更大,所以我需要删除 vec1 以支持 …
我正在尝试让pdf.js在IE中工作。我几乎完全从pdf.js网站https://mozilla.github.io/pdf.js/examples/上的“使用base64编码的PDF使用Hello World”示例中复制了代码。PDF上下颠倒并已镜像。我环顾四周,常见的原因是将画布重新用于多个渲染,但是我没有这样做,只是渲染一次,所以我真的不知道。
在我的html文档的顶部,我有:
$html .= '<canvas width="600px" height="2000px" id="the-canvas"></canvas>';
Run Code Online (Sandbox Code Playgroud)
然后,我基本上像这样从演示中完全复制了JS(encodedString变量是我的pdf base64字符串)
var pdfData = atob(encodedString);
// Loaded via <script> tag, create shortcut to access PDF.js exports.
var pdfjsLib = window['pdfjs-dist/build/pdf'];
// The workerSrc property shall be specified.
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';
// Using DocumentInitParameters object to load binary data.
var loadingTask = pdfjsLib.getDocument({data: pdfData});
loadingTask.promise.then(function(pdf) {
console.log('PDF loaded');
// Fetch the first page
var pageNumber = 1;
pdf.getPage(pageNumber).then(function(page) {
console.log('Page loaded');
var scale = 1.5;
var viewport = page.getViewport({scale: …Run Code Online (Sandbox Code Playgroud) 我知道,如果您创建 SQLPreparedStatement 或 ResultSet,则应在完成后对资源使用 .close() 。但是,如果我正在循环并在每次迭代中重新创建PreparedStatement,那么我是否仍然需要在每次迭代期间或在完成时对其调用 .close() ?
例如,如果我有这个:
private Connection con;
private String[] queries;
private PreparedStatement stmt;
...
create connection
fill array queries with 10 queries in it
...
for (int i = 0; i < 10; i++) {
stmt = con.prepareStatement(queries[i], Statement.RETURN_GENERATED_KEYS);
stmt.executeUpdate();
// necessary?
stmt.close()
}
Run Code Online (Sandbox Code Playgroud)
每次迭代是否有必要 .close() stmt ,还是应该在循环完成时执行此操作?为什么或者为什么不?谢谢。