dumingyu1992 2016-07-03 22:00 采纳率: 0%
浏览 1094

关于面试里算法的空间复杂度的一个问题?

输入:自然数n
输出:一个从小到大的array,array中的元素是a^3+b^3, a和b在自然数[0,n]范围里

要求:时间复杂度O(n^2logn);
空间复杂度O(n)

  • 写回答

2条回答

  • threenewbee 2016-07-03 23:34
    关注
     #include <stdio.h>
    #include <stdlib.h>
    
    int cmp(const void *a, const void *b) 
    { 
         return(*(int *)a - *(int *)b);
    }
    
    int main()
    {
    int n;
    //scanf("%d", &n);
    n = 10;
    int* arr = (int *)malloc(n * sizeof(int));
    int i = 0;
    int x = 0, y = 0;
    while (i < n)
    {
    arr[i] = x * x * x + y * y * y;
    if (x == y) { x = 0; y++; } else x++;
    i++;
    }
    // qsort(arr, n, sizeof(int), cmp); 似乎排序是多余的。
    for (i = 0; i < n; i++) printf("%d ", arr[i]);
    return 0;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗