华为慧通面试题

2023-07-06   


//华为面试题: 有1,2,….一直到n的无序数组,求排序算法,
   //并且要求时间复杂度为O(n),空间复杂度O(1),使用交换,而且一次只能交换两个数.
   //评论:要使时间复杂度为O(n),那一定是特殊数组,否则不可能实现,
   //题目给出数组为1,2,….n,那么可以在这上面做文章,把数组的值和数组的下标联系起来,把a[i]的值给a[a[i]-1],比如a[3]=5,则把5赋给a[5-1]也就是a[4]=5,则符合要求了。
  
   #i nclude
   void main()
   int a[10]=3,6,8,4,2,9,7,1,5,10;//6,3,4,8,2,9,7,1,5,10; 这个数例不行
   int b,i;
   for(i=0;i


相关内容:

  1. 华为慧通笔试题
  2. 华为的英语面试题
  3. 华为程序面试笔试高级题
  4. 华为技术面试流程及常问问题
  5. 华为硬件面试题
  6. 华为python面试题