小编San*_*r M的帖子

给定一个数组找到m个奇数的子数组?

样本输入:( 1 2 3 4 5数组元素) m = 1(奇数)样本输出: 8.子阵列是[ [1],[1,2],[2,3],[2,3,4],[3],[3,4],[4,5],[5]]

这是我的实现.在最坏的情况下,它需要O(n + n ^ 2).是否有任何方法来优化此代码?

int main() {
    int n, *a, count1=0, m, *dp;
    cin>>n;
    a = new int[n];
    dp =new int[n];

    for(int i=0; i<n; i++) {
        cin >> a[i];
    }

    cin >> m;

    for(int i=0; i<n; i++){
        if(a[i]%2==1) {
            count1++;
        }

        dp[i] =count1;
    }

    int prev;
    long count=0;

    for(int i=0; …
Run Code Online (Sandbox Code Playgroud)

c++ arrays algorithm

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

标签 统计

algorithm ×1

arrays ×1

c++ ×1