小编Ano*_*non的帖子

未排序数组中最长的连续序列

您将获得一个数字数组,它们是未分类/随机顺序.您应该在阵列中找到最长的连续数字序列.请注意,序列不需要在数组中按排序顺序排列.这是一个例子:

输入:

A[] = {10,21,45,22,7,2,67,19,13,45,12,11,18,16,17,100,201,20,101}  
Run Code Online (Sandbox Code Playgroud)

输出是:

{16,17,18,19,20,21,22}  
Run Code Online (Sandbox Code Playgroud)

解决方案需要具有O(n)复杂度.

我被告知解决方案涉及使用哈希表,我确实遇到了几个使用2个哈希表的实现.人们无法对此进行排序和解决,因为排序将需要O(nlgn),这不是所期望的.

c# python algorithm

19
推荐指数
3
解决办法
2万
查看次数

不幸的数字

不幸的数字(不是家庭作业)

很少有数字被认为是不吉利的(它只包含4和7).我们的目标是在正整数a和b的范围内找到这些数字的计数.
例如:
输入:a = 10 b = 20
输出:0
输入:a = 30 b = 50
输出:2(44,47)

下面是我使用静态数组方法尝试的代码,其中我最初计算32位整数的所有可能的不吉利数字.这在O(n)中完成,并且稍后顺序扫描有助于获得再次为O(n)操作的计数.没有静态数组的帮助,有没有更好的方法来解决这个问题?

#define MAX_UNLUCKY 1022
static int unlucky[MAX_UNLUCKY];  
int main(int argc, char **argv) { 
    int i, j, k;  
    int a, b, factor;  
    printf("Enter the numbers : \n");  
    scanf("%d",&a);  
    scanf("%d",&b);  
    unlucky[0] = 4;  
    unlucky[1] = 7;  
    factor = 10;  
    k = 1;  
    for(i = 2; i < MAX_UNLUCKY; ++i) 
        unlucky[i] = unlucky[(i >> 1) - 1]*factor + unlucky[k ^= 1];  
    for (i = 0; i …
Run Code Online (Sandbox Code Playgroud)

algorithm

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

BENCH_INNER:lmbench3.0 src代码宏查询

我正在阅读MHZ - lmbench的创建者和源代码浏览代码的基准论文解剖.

  1. 该论文可以下载@ MHz:Microbenchmark解剖
  2. 源代码lmbench-3.0由Carl Staelin和Larry McVoy撰写

在BENCH_INNER()宏内部,我有一个疑问:

#define BENCH_INNER(loop_body, enough) {                \
    static iter_t   __iterations = 1;               \
    int     __enough = get_enough(enough);          \
    iter_t      __n;                        \
    double      __result = 0.;                  \
                                    \
    while(__result < 0.95 * __enough) {             \
        start(0);                       \
        for (__n = __iterations; __n > 0; __n--) {      \
            loop_body;                  \
        }                           \
        __result = stop(0,0);                   \
        if (__result < 0.99 * __enough              \
            || __result > 1.2 * …
Run Code Online (Sandbox Code Playgroud)

c unix linux microbenchmark

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

标签 统计

algorithm ×2

c ×1

c# ×1

linux ×1

microbenchmark ×1

python ×1

unix ×1