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

Golang | Leetcode Golang题解之第382题链表随机节点

题目:

题解:

type Solution struct {
    head *ListNode
}

func Constructor(head *ListNode) Solution {
    return Solution{head}
}

func (s *Solution) GetRandom() (ans int) {
    for node, i := s.head, 1; node != nil; node = node.Next {
        if rand.Intn(i) == 0 { // 1/i 的概率选中(替换为答案)
            ans = node.Val
        }
        i++
    }
    return
}

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

相关文章:

  • Odoo :一款免费开源的日化行业ERP管理系统
  • 数字孪生乡村:数字乡村智慧化营建思路
  • 服务器上安装Orcale数据库以及PL SQL工具(中文)
  • Python教程笔记(3)
  • 云服务器端口开放
  • linux常见资源查询命令(持续更新)
  • 正则表达式pattern
  • 【CSS】选择器
  • GAN Inversion(GAN 反演)
  • vue项目中解决el-table数据过多导致页面卡顿问题
  • 学习系列三:V8目标检测与分割自动化标注
  • 数据库不停机迁移方案
  • 【SpringCloud Alibaba】(九)学习 Gateway 服务网关
  • Golang 教程2
  • 工作 6 年,@Transactional 注解用的一塌糊涂
  • 空间计量 | 空间杜宾误差模型SDEM
  • 基于RK3568平台opencv的图像采集、ffmpeg推流和Windows端拉流(多线程)
  • 新手教学系列——如何实现基于asyncio的高效率 Worker(按需获取任务、防止阻塞与崩溃)
  • 时序预测 | 基于WTC+transformer时间序列组合预测模型(pytorch)
  • 【河北航空-注册安全分析报告-无验证方式导致安全隐患】
  • 图像处理领域的术语解析
  • 【Rust练习】10.元组
  • 【数据结构篇】~链式二叉树(附源码)
  • 两个主机上的Docker容器怎么实现连接
  • 新买的笔记本只有一个C盘,进行磁盘分区的操作
  • 机器人大会引领产业动向,卓翼飞思绘制无人系统教科研新蓝图