> 文档中心 > 【力扣题解】6092. 替换数组中的元素

【力扣题解】6092. 替换数组中的元素


😊博主目前也在学习,有错误欢迎指正😊
🌈保持热爱 奔赴星海🌈

文章目录

    • 一、题目
      • 1、题目描述
      • 2、基础框架
      • 3、原题链接
    • 二、解题报告
      • 1、思路分析
      • 2、代码详解
    • 三、本题知识

一、题目

1、题目描述

给你一个下标从 0 开始的数组 nums ,它包含 n 个 互不相同 的正整数。请你对这个数组执行 m 个操作,在第 i 个操作中,你需要将数字 operations[i][0] 替换成 operations[i][1] 。

题目保证在第 i 个操作中:

  • operations[i][0] 在 nums 中存在。
  • operations[i][1] 在 nums 中不存在。

请你返回执行完所有操作后的数组。

2、基础框架

  • Java版本框架代码如下:
class Solution {    public int[] arrayChange(int[] nums, int[][] operations) {    }}

3、原题链接

6092. 替换数组中的元素

二、解题报告

1、思路分析

       (1)用哈希表记录nums数组中的每个元素的位置,然后遍历operations数组替换nums中的值即可。

2、代码详解

class Solution {    public int[] arrayChange(int[] nums, int[][] operations) { HashMap<Integer,Integer> map = new HashMap(); int n = nums.length; int m = operations.length; for(int i = 0;i < n;i++) {     map.put(nums[i],i); } for(int i = 0;i < m;i++) {     nums[map.get(operations[i][0])] = operations[i][1];     map.put(operations[i][1],map.get(operations[i][0])); } return nums;    }}

三、本题知识

哈希表+遍历