小编Dor*_*192的帖子

arrayMaxConsecutiveSum c#

作为学习 c# 的一部分,我参与了 codesignal 挑战。到目前为止,除了标题中所述的测试之外,一切对我来说都很顺利。

问题是当数组长度为10^5且连续元素数(k)为1000时,我的代码效率不够高,无法在3秒内运行。我的代码运行如下:

int arrayMaxConsecutiveSum(int[] inputArray, int k) {

    int sum = 0;
    int max = 0;

    for (int i = 0; i <= inputArray.Length-k; i++)
    {
        sum = inputArray.Skip(i).Take(k).Sum();

        if (sum > max)
            max = sum;
    }

    return max;
}
Run Code Online (Sandbox Code Playgroud)

网站上所有可见测试都运行正常,但是说到隐藏测试,在测试20中,出现了一个错误,说明

19/20 测试通过。测试 20 超出执行时间限制:程序超出执行时间限制。对于任何可能的输入,确保它在几秒钟内完成执行。

我也尝试解锁解决方案,但在 c# 上,代码与此有些相似,但他没有使用 LINQ。我还尝试将它与隐藏测试一起运行,但发生了同样的错误,这很奇怪,因为它甚至没有通过所有测试时作为解决方案提交的方式。

有没有更快的方法来获得数组的总和?

我也想过解锁隐藏测试,但我认为它不会给我任何具体的解决方案,因为问题仍然存在。

c# arrays

3
推荐指数
1
解决办法
291
查看次数

C2011 'CMemDC':Visual Studio 2019 中的'class'类型重新定义

首先,我想让您知道我使用的代码与 GitHub 中可以找到的代码相同。其次,我在网上尝试了各种解决方案,例如设置标头块或放置#pragma once在 cpp 文件顶部,但仍然产生下面提到的相同错误。

我感到困惑的是如何在各种存储库中找到此代码,但我无法使用 VS 2019 构建它。

我的猜测是,我需要安装 VS 2010 才能正确构建,但我将其视为解决此问题的最后手段。

任何想法将不胜感激。谢谢。

文本进度Ctrl.cpp

// TextProgressCtrl.cpp : implementation file
//
// Written by Chris Maunder (chrismaunder@codeguru.com)
// Copyright 1998.
//
// Modified : 26/05/98 Jeremy Davis, jmd@jvf.co.uk
//              Added colour routines
//
// TextProgressCtrl is a drop-in replacement for the standard 
// CProgressCtrl that displays text in a progress control.
//
// This code may be used in compiled form in any way you desire. This …
Run Code Online (Sandbox Code Playgroud)

c++ mfc

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

标签 统计

arrays ×1

c# ×1

c++ ×1

mfc ×1