数组重组笔试题.docxVIP

  • 1
  • 0
  • 约8.69千字
  • 约 13页
  • 2026-08-17 发布于河南
  • 举报

数组重组笔试题

考试时间:______分钟总分:______分姓名:______

一、单项选择题

1.给定一个整数数组`nums`和一个整数`k`,要求将数组中的元素按照模`k`的余数从小到大排序,如果余数相同,则保持原有顺序。以下哪种排序算法最适合解决这个问题,以保证排序的稳定性?

A.快速排序(QuickSort)

B.归并排序(MergeSort)

C.堆排序(HeapSort)

D.插入排序(InsertionSort)

2.有一个长度为`n`的整数数组`arr`,需要将其元素向右旋转`m`次(`m`非负整数)。以下哪种方法可以实现原地旋转,且时间复杂度为O(n)?

A.创建一个新数组,按旋转后的顺序复制元素,然后覆盖原数组。

B.使用递归函数,每次将数组最后一位移到第一位,递归`m`次。

C.首先反转整个数组,然后反转数组前`m`个元素,最后反转剩余的元素。

D.遍历数组,将每个元素移动到`(i+m)%n`的位置。

3.请实现一个函数`shuffle(nums,n)`,其中`nums`是一个包含`2n`个整数的数组,`n`是一个正整数。函数的目的是将`nums`分成两个长度为`n`的

文档评论(0)

1亿VIP精品文档

相关文档