小编She*_*mar的帖子

如何删除第一个数组的某个索引处的所有元素,并且该索引是从第二个数组中获取的?

我想编写一个需要 2 个数组的函数 -
一个数组是源数组,另一个数组是索引数组。
我想删除源数组索引中存在的所有元素,并从第二个数组中获取索引。
假设第一个数组是:{12,5,10,7,4,1,9},索引数组是:{2,3,5}。
然后是索引 2,3,5 处的元素。即从第一个数组中删除 10、7 和 1。
所以第一个数组变成:{12,5,4,9}。
如果索引数组已排序,那么我的 O(N) 解决方案是:

#include<iostream>
using namespace std;
int main()
{
    int arr[]={12,5,10,7,4,1,9},n=7,indices[]={2,3,5},m=3;
    int j=0,k=0;
    for(int i=0;i<n,k<m;i++)
    {
        if(i!=indices[k])
            arr[j++]=arr[i];
        else
            k++;
    }
    for(i=0; i<j; i++)
        cout<<arr[i]<<" ";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果索引数组未排序,如何在 O(n) 内做到这一点?

c++ arrays sorting

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

如何找到"数字乘积"的因子数

我试图找到大数量产品的因素.

问题陈述是这样的:假设给你N个数字(假设N = 10),每个数字<= 1000000.如何找到这些数字乘积的因子数.

有人可以提供一个有效的算法来做到这一点.

示例:

1)N = 3,数字为3,5,7

Ans = 8(1,3,5,7,15,21,35,105)

2)N = 2且数字为5,5

Ans = 3(1,5和25)

c algorithm prime-factoring

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

标签 统计

algorithm ×1

arrays ×1

c ×1

c++ ×1

prime-factoring ×1

sorting ×1