美文网首页
Leetcode_398_随机数索引_hn

Leetcode_398_随机数索引_hn

作者: 1只特立独行的猪 | 来源:发表于2020-03-12 19:42 被阅读0次

题目描述

给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。
注意:
数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。

示例

示例 1:

int[] nums = new int[] {1,2,3,3,3};
Solution solution = new Solution(nums);

// pick(3) 应该返回索引 2,3 或者 4。每个索引的返回概率应该相等。
solution.pick(3);

// pick(1) 应该返回 0。因为只有nums[0]等于1。
solution.pick(1);

解答方法

方法一:

思路

遍历数组,和target相等的数的索引保存在一个新的数组里,然后从这个数组中随机选择一个值返回

代码

class Solution:

    def __init__(self, nums: List[int]):
        self.nums = nums

    def pick(self, target: int) -> int:
        res = []
        #enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据下标和数据
        for i,val in enumerate(self.nums):
            if self.nums[i] == target:
                res.append(i)
        return res[random.randint(0,len(res) - 1)]
        


# Your Solution object will be instantiated and called as such:
# obj = Solution(nums)
# param_1 = obj.pick(target)

时间复杂度

空间复杂度

相关文章

  • Leetcode_398_随机数索引_hn

    题目描述 给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中...

  • hn[0]hn

    hn[1]hn

  • 零基础学Web前端开发(2)

    今天回忆关于文字段落的标签写法, 标题标签: 文章中一级一级的标题都用标签表示...

  • numpy 通用函数2.0

    数组的变换,复制,索引,基本运算,堆叠,拆分,运算,随机数 数组形状:.T/.reshape()/.resize(...

  • 前端语义化

    语义化标签 :页面主体内容。:h1~h6,分级标题, 与 协调有利于搜索引擎优化。 :无序列表。 :...

  • 微信管理库

    数据库存储结构 微信(hn_nzwx_wx) 微信组(hn_nzwx_group) 日志表(hn_nzwx_log...

  • 398:随机数索引

    题意 给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。 ...

  • 2017-12-06

    hn

  • 常用负载均衡算法

    1.随机 获取服务列表大小范围内的随机数,将随机数作为列表索引, 从服务列表中获取服务提供者。 2.加权随机 按照...

  • 在路上hn

    最近路过hn,不是第一次进hn,但是第一次进hn境不走高速走省道。 emmm… 印象深刻啊…… ...

网友评论

      本文标题:Leetcode_398_随机数索引_hn

      本文链接:https://www.haomeiwen.com/subject/dsnijhtx.html