当前位置: 首页 > article >正文

LeetCode:3159. 查询数组中元素的出现位置(hash Java)

目录

3159. 查询数组中元素的出现位置

题目描述:

题目描述与解析:

hash

原理思路:


3159. 查询数组中元素的出现位置

题目描述:

        给你一个整数数组 nums ,一个整数数组 queries 和一个整数 x 。

对于每个查询 queries[i] ,你需要找到 nums 中第 queries[i] 个 x 的位置,并返回它的下标。如果数组中 x 的出现次数少于 queries[i] ,该查询的答案为 -1 。

请你返回一个整数数组 answer ,包含所有查询的答案。

示例 1:

输入:nums = [1,3,1,7], queries = [1,3,2,4], x = 1

输出:[0,-1,2,-1]

解释:

  • 第 1 个查询,第一个 1 出现在下标 0 处。
  • 第 2 个查询,nums 中只有两个 1 ,所以答案为 -1 。
  • 第 3 个查询,第二个 1 出现在下标 2 处。
  • 第 4 个查询,nums 中只有两个 1 ,所以答案为 -1 。

示例 2:

输入:nums = [1,2,3], queries = [10], x = 5

输出:[-1]

解释:

  • 第 1 个查询,nums 中没有 5 ,所以答案为 -1 。

提示:

  • 1 <= nums.length, queries.length <= 105
  • 1 <= queries[i] <= 105
  • 1 <= nums[i], x <= 104

题目描述与解析:

hash

class Solution {
    public int[] occurrencesOfElement(int[] nums, int[] queries, int x) {

        int n = nums.length;
        int[] idx = new int[100100];
        Arrays.fill(idx, -1);
        int cnt = 0;
        for (int i = 0; i < n; i++) {
            if (nums[i] == x) {
                cnt++;
                idx[cnt] = i;
            }
        }
        int m = queries.length;
        int[] res = new int[m];
        for (int i = 0; i < m; i++) {
            res[i] = idx[queries[i]];
        }
        return res;
    }
}

原理思路:

        毕竟简单,hash记录一下出现位置的下标即可。


http://www.kler.cn/a/457183.html

相关文章:

  • 【Kafka 消息队列深度解析与应用】
  • JVM实战—6.频繁YGC和频繁FGC的后果
  • android studio gradle 如何解决下载依赖一直卡住的问题
  • python版本的Selenium的下载及chrome环境搭建和简单使用
  • 【笔记】增值税计算笔记
  • UFS供电
  • 【深度学习实战:kaggle自然场景的图像分类-----使用keras框架实现vgg16的迁移学习】
  • Scala_【1】概述
  • 解决单台Elasticsearch 未授权访问漏洞
  • 4-3 MCU中ARM存储器的作用
  • node-js Express-路由模块化
  • 小米汽车加速出海,官网建设引领海外市场布局!
  • 通过 Ansys Electronics Desktop 中的高级仿真优化 IC 设计
  • 华为手机鸿蒙4.2连接不上adb
  • 网络协议入门
  • 【SpringMVC】REST 风格
  • CSS @property 颜色过渡动画实例
  • 基于统计分析与随机森林的环境条件对生菜生长的影响研究
  • Django 模型中使用选择(choices):全面指南
  • vue.js 工程化开发 脚手架 Vue CLl
  • MySQL日志之误删恢复数据
  • Soul App创始人张璐团队以科技守护真实,净化网络社交环境
  • Mac 12.1安装tiger-vnc问题-routines:CRYPTO_internal:bad key length
  • 【每日学点鸿蒙知识】Grid子项拖动、Swiper指示器、手势事件上报、指定使用发布版本API、打包签名失败报错109
  • 「Python数据科学」标量、向量、矩阵、张量与多维数组的辨析
  • WEB UI 常用类