首页 > 试题广场 >

数组元素交换

[编程题]数组元素交换
  • 热度指数:915 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
有一个没有重复元素的数组a,想要将数组内第n大的数字和第m大的数(从大到小排序)交换位置。给定一个数组a,求交换第n大和第m大元素后的数组。

示例1

输入

[1,2],1,2

输出

[2,1]

备注:
头像 牛客516598323号
发表于 2020-10-08 11:14:27
先准备两个数组,存放所有数据;对一个数组从大到小排序,取出第n大和第m大的数;在未排序的数组查找这两个数,并交换位置。运行时间:32ms 占用内存:6524KB 使用语言:Python 3 用例通过率:100.00% class Solution: def sovle(self, a, n, 展开全文
头像 信仰不悔
发表于 2020-07-31 01:39:37
A.数组元素交换 题目描述 牛牛有一个没有重复元素的数组a,他想要将数组内第n大的数字和第m大的数(从大到小排序)交换位置你能帮帮他吗。给定一个数组a,求交换第n大和第m大元素后的数组。 示例1输入[1,2],1,2输出[2,1] 备注 题解 class Solution { public: 展开全文
头像 东溪看水
发表于 2020-08-05 13:45:48
题目 给定一个没有重复元素的数组 a,将数组内第 n 大的数字和第 m 大的数(从大到小排序)交换位置后返回数组。 解题思路 因为题目已说明数组 a 没有重复元素,所以可以使用 map 数据结构记录每个元素的下标,同时将数组中的元素按照从小到大排序。遍历 mp 中的元素,使用 k 表示它是第 k 大 展开全文
头像 牛客587908846号
发表于 2021-08-30 15:10:34
import java.util.*; public class Solution { /** * * @param a int整型一维数组 原始数组a * @param n int整型 第n大 * @param m int整型 第m大 展开全文
头像 changed.
发表于 2021-09-25 22:25:06
题意整理: 题目给出个没有重复元素的数组a,需要要将数组内第n大的数字和第m大的数交换位置,返回交换后的数组 方法一:排序+替换 核心思想: 可以将原数组复制一份,将复制得到的数组进行排序(从大到小),然后取出第n大和第m大的数的数值,再在原数组中进行查找并替换即可。因为题目保证的数组中没有重复元素 展开全文
头像 AimerAimer
发表于 2021-09-29 20:51:59
**题意: 有一个没有重复元素的数组a,想要将数组内第n大的数字和第m大的数交换位置。(数组a没有重复元素)** **方法一: 快排法** > 思路:用临时数组b来存储a,并对b进行快速排序(从大到小排序),从而找到第n大的数字和第m大的 展开全文
头像 Ⅲ_Dc
发表于 2022-10-28 22:11:36
#include<math.h> #include<stdio.h> #include<stdlib.h> using namespace std; class Solution { public: vector<int> sovle(vector&l 展开全文
头像 CroMarmot
发表于 2021-09-28 21:45:59
题意 交换无重复元素的数组中第mmm大和第nnn大的数字,返回交换后的新数组 方法 for套for 控制上限每次找小于上限的最大值,这样找了n次,就是第n大的值 我们把最大值最小值用long long来表示保证超过int的范围 以7 3 2 8 4 为例, 若n=4n=4n=4 轮次 pos 展开全文

问题信息

难度:
4条回答 1558浏览

热门推荐

通过挑战的用户

查看代码