小编Iva*_*van的帖子

ArrayList排序最长的序列

不是要求任何人为我解决这个问题,我只需要一点推动,因为我没有从根本上知道从哪里开始.我所知道的是,我应该在此实现集合并进行排序.

编写一个方法longestSortedSequence,它返回整数列表中最长排序序列的长度.例如,如果名为list的变量存储以下值序列:

[1, 3, 5, 2, 9, 7, -3, 0, 42, 308, 17]
Run Code Online (Sandbox Code Playgroud)

然后调用:list.longestSortedSequence()将返回值4,因为它是此列表中最长排序序列的长度(序列-3,0,42,308).如果列表为空,则您的方法应返回0.请注意,对于非空列表,该方法将始终返回至少为1的值,因为任何单个元素都构成已排序的序列.

Assume you are adding to the ArrayIntList class with following fields:

public class ArrayIntList 
{
    private int[] elementData;
    private int size;

    // your code goes here
}
Run Code Online (Sandbox Code Playgroud)

java

6
推荐指数
1
解决办法
624
查看次数

恩智浦有Java卡吗?

为什么在恩智浦网站上没有关于"JCOP"或J2A040和j3d081这样的术语的搜索结果?我想开始Java Card开发并在市场上找到名为的Java Card

  • JCOP21-72
  • 基于J2A040 NXP JAVA的智能卡,40k EEPROM
  • jcop31
  • jcop41
  • ...

但恩智浦网站上的条款是: - SmartMX,MIFARE DESFire等,或 - P5CC021,P5CC040,P5CC073,P5CC080,P5CC144

为什么市场和制造商使用这些不同的术语?


更新:

  1. 如果我购买SmartMX它是否附带操作系统?恩智浦为操作系统或供应商编程?我有能力自己做吗?

  2. 我在哪里可以找到每个JCOP OS的详细规范?

smartcard javacard mifare contactless-smartcard jcop

6
推荐指数
2
解决办法
6292
查看次数

OData 不是运算符,或者如何过滤所有不以 (...) 开头的项目

我正在使用SharePoint REST API,它类似于OData,但目前我什至不知道标准的OData方式。我想过滤不以特定字符串模式开头的项目。OData 中的“非”运算符是如何编写的?所有参考文献都列出了“and”和“or”运算符以及“ne”运算符,但我找不到“not”运算符。

以下两者都不起作用:

A)

  not startswith(field, 'pattern')
Run Code Online (Sandbox Code Playgroud)

b)

 startswith(field, 'pattern') ne true // Yes I know there is no 'true' boolean literal.
Run Code Online (Sandbox Code Playgroud)

odata

6
推荐指数
1
解决办法
1万
查看次数

如何在java中实现循环链​​表?

我读了一本关于"数据结构和算法"的书,其中有一些任务要求我实现循环链​​表.这是一个学习练习,我的代码可能没有很高的标准.

我实现循环链​​表的主要思想是有一个指向最后一个元素的指针,每次添加新项时,最后一个项的字段"next"将刷新为指向新添加的项目.

插入方法工作正常,我可以毫无问题地添加项目,但由于某种原因,我无法从列表中删除项目.

以下是"链接"或"节点"的代码:

public class Link {
  public long data;
  public Link next;

  public Link(long val) {
    data = val;
    next = null;
  }

  public void displayLink() {
    System.out.print(data + " ");
  }

}  // end class
Run Code Online (Sandbox Code Playgroud)

这是执行工作的类的代码,而bug显然在这里:

public class CircularList {
Link first;
Link last;

public CircularList() {
     first = null;
     last = null;
}

public Link find(long key) {
    Link current = first;
    while(current.data != key) {
        current = current.next;
    }
    return current;
} // end find …
Run Code Online (Sandbox Code Playgroud)

java data-structures

6
推荐指数
1
解决办法
2万
查看次数

如何在matlab中将图像从double转换为uint8?

我有一个I类型的图像double.我想将图像转换doubleuint8.我尝试过使用两者:

  1. I=uint8(I)
  2. I=im2uint8(I).

当我使用imshow(I)命令时,我只得到一个黑色图像而没有别的.我究竟做错了什么?

matlab image image-processing

6
推荐指数
1
解决办法
9590
查看次数

在属性和构造函数中初始化列表?

我有一个List<>由属性暴露的对象.我通常在属性getter中初始化我的列表,如下所示:

public class Foo
{
    private List<bar> _barList;

    public List<bar>
    {
        get
        {
            if(_barList == null)
            {
                _barList = new List<Bar>()
            }

            return _barList;
        }

        set
        {
            _barList = value;
        }
    }

    public Foo()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我的同事通常更喜欢在类构造函数中初始化列表,如下所示:

public class Foo
{
    public List<bar> BarList { get; set; }

    public Foo()
    {
        BarList = new List<Bar>();
    }
}
Run Code Online (Sandbox Code Playgroud)

这两种情况都BarList无法在初始化之前被访问.由于使用autoproperties,第二个似乎更整洁.第一个似乎是一个更好的选择,因为列表仅在首次使用时初始化.我还应该考虑其他因素吗?这是最好的做法吗?

c# constructor properties

6
推荐指数
2
解决办法
1986
查看次数

Pdf Renderer API Android 来自 URL

我正在研究Google Android 开发原生的PDF 渲染器 API。我在文档中看到以下代码示例:

 // create a new renderer
 PdfRenderer renderer = new PdfRenderer(getSeekableFileDescriptor());

 // let us just render all pages
 final int pageCount = renderer.getPageCount();
 for (int i = 0; i < pageCount; i++) {
 Page page = renderer.openPage(i);

 // say we render for showing on the screen
 page.render(mBitmap, null, null, Page.RENDER_MODE_FOR_DISPLAY);

 // do stuff with the bitmap

 // close the page
 page.close();
 }

 // close the renderer
 renderer.close();
Run Code Online (Sandbox Code Playgroud)

我认为这个例子使用了文件对象。如何让这个 API 与来自网络服务器的 URL 一起工作,例如来自网站的文档?如何在不需要将文件下载到本地存储的 …

java pdf android

6
推荐指数
1
解决办法
4134
查看次数

用于嵌入字体的 PDFsharp / MigraDoc 字体解析器:System.ArgumentException:找不到字体“Ubuntu”

我正在使用 MigraDoc 在部署到 Azure 云的 ASP.NET5 MVC6 Web 应用程序中生成 PDF。我使用的是 1.50 beta-2 版本,但我也尝试过使用 v1.50 beta-1 和 v1.32。

\n\n

当应用程序在本地运行时,我已成功生成 PDF。然而,当应用程序在云服务器上运行时,由于无法访问任何字体,我在生成 PDF 时遇到了很大的问题。 按照 PDFsharp 文档,我尝试通过在代码中嵌入字体来创建“私有字体”。

\n\n

我直接使用 PDFsharp 在云上成功生成了 PDF

\n\n
    public static MyResolver FontResolver = new MyResolver();\n    public void RenderPdf(CreateDocumentViewModel viewModel)\n    {\n        GlobalFontSettings.FontResolver = FontResolver;\n        //...\n        XFont font = new XFont("times-roman", 12, XFontStyle.Regular);\n        //This font is then used in DrawString.\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

不过,我现在想利用 MigraDoc,这样我就不必自己完成所有排版工作。

\n\n

我在这里遵循了 Thomas H\xc3\xb6vel\ 博客上的优秀指南(这是 beta-2 的新指南,尽管我之前也关注过他之前关于 beta-1 的帖子)。他的项目在本地非常适合我。

\n\n …

c# asp.net-mvc fonts pdfsharp migradoc

6
推荐指数
1
解决办法
7278
查看次数

使用C#将非常大的项目列表序列化到Azure Blob存储中

我有大量的对象,以后需要存储和检索。该列表将始终用作一个单位,并且不会单独检索列表项。该列表包含约7000个项目,总计约1GB,但可以轻松升级到十倍甚至更多。

我们一直在使用BinaryFormatter.Serialize()序列化(System.Runtime.Serialization.Formatters.Binary.BinaryFormatter)。然后,此字符串作为Blob上传到Azure Blob存储。我们发现它通常是快速且高效的,但是由于我们正在以更大的文件大小对其进行测试(并抛出)而变得不足OutOfMemoryException。据我了解,尽管我使用的是流,但我的问题是该BinaryFormatter.Serialize()方法必须先将所有内容序列化到内存,然后才能上传Blob,从而导致异常。

二进制序列化程序如下所示:

public void Upload(object value, string blobName, bool replaceExisting)
{
    CloudBlockBlob blockBlob = BlobContainer.GetBlockBlobReference(blobName);
    var formatter = new BinaryFormatter()
    {
        AssemblyFormat = FormatterAssemblyStyle.Simple,
        FilterLevel = TypeFilterLevel.Low,
        TypeFormat = FormatterTypeStyle.TypesAlways
    };

    using (var stream = blockBlob.OpenWrite())
    {
        formatter.Serialize(stream, value);
    }
}
Run Code Online (Sandbox Code Playgroud)

OutOfMemoryException发生在该formatter.Serialize(stream, value)行上。

因此,我尝试使用其他协议,即协议缓冲区。我尝试使用Nuget包protobuf-net和Google.Protobuf中的两种实现,但是序列化非常慢(大约30分钟),而且据我所读,Protobuf并未针对序列化大于1MB的数据进行优化。因此,我回到了绘图板上,遇到了Cap'n Proto,Cap'n Proto承诺通过使用内存映射解决我的速度问题。我正在尝试使用@ marc-gravell的C#绑定,但是在实现序列化程序时遇到了一些困难,因为该项目还没有详尽的文档。而且,我不确定100%的Cap'n Proto是协议的正确选择-但我正努力在网上找到其他建议。

如何以合理的快速方式将非常大的项目集合序列化到Blob存储,而不会遇到内存问题?

c# serialization azure protocol-buffers capnproto

5
推荐指数
1
解决办法
1003
查看次数

从Azure表存储服务重试408超时

我们正在使用Azure表存储,并且在执行InsertOrMerge操作时偶尔会遇到408超时.在这种情况下,我们想重试,但似乎没有遵循这些错误的重试策略.

这是我们用来处理表交互的类.GetFooEntityAsync方法尝试从表存储中检索实体.如果不能,则创建一个新的FooEntity并将其添加到表中(映射到FooTableEntity).

public class FooTableStorageBase
{
    private readonly string tableName;

    protected readonly CloudStorageAccount storageAccount;

    protected TableRequestOptions DefaultTableRequestOptions { get; }

    protected OperationContext DefaultOperationContext { get; }

    public CloudTable Table
    {
        get
        {
            return storageAccount.CreateCloudTableClient().GetTableReference(tableName);
        }
    }

    public FooTableStorage(string tableName)
    {
        if (String.IsNullOrWhiteSpace(tableName))
        {
            throw new ArgumentNullException(nameof(tableName));
        }

        this.tableName = tableName;

        storageAccount = CloudStorageAccount.Parse(ConnectionString);

        ServicePoint tableServicePoint = ServicePointManager.FindServicePoint(storageAccount.TableEndpoint);
        tableServicePoint.UseNagleAlgorithm = false;
        tableServicePoint.ConnectionLimit = 100; // Increasing connection limit from default of 2.

        DefaultTableRequestOptions = new TableRequestOptions()
        {
            PayloadFormat = TablePayloadFormat.JsonNoMetadata,
            MaximumExecutionTime …
Run Code Online (Sandbox Code Playgroud)

c# azure azure-storage azure-table-storage retrypolicy

5
推荐指数
0
解决办法
754
查看次数